In [1]:
import pandas as pd
import numpy as np
# for visaluatztion
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
In [2]:
data = pd.read_csv("sentimentdataset.csv")
In [3]:
data.head()
Out[3]:
Unnamed: 0.1 Unnamed: 0 Text Sentiment Timestamp User Platform Hashtags Retweets Likes Country Year Month Day Hour
0 0 0 Enjoying a beautiful day at the park! ... Positive 2023-01-15 12:30:00 User123 Twitter #Nature #Park 15.0 30.0 USA 2023 1 15 12
1 1 1 Traffic was terrible this morning. ... Negative 2023-01-15 08:45:00 CommuterX Twitter #Traffic #Morning 5.0 10.0 Canada 2023 1 15 8
2 2 2 Just finished an amazing workout! 💪 ... Positive 2023-01-15 15:45:00 FitnessFan Instagram #Fitness #Workout 20.0 40.0 USA 2023 1 15 15
3 3 3 Excited about the upcoming weekend getaway! ... Positive 2023-01-15 18:20:00 AdventureX Facebook #Travel #Adventure 8.0 15.0 UK 2023 1 15 18
4 4 4 Trying out a new recipe for dinner tonight. ... Neutral 2023-01-15 19:55:00 ChefCook Instagram #Cooking #Food 12.0 25.0 Australia 2023 1 15 19
In [4]:
data.shape
Out[4]:
(732, 15)
In [5]:
data.dtypes
Out[5]:
Unnamed: 0.1      int64
Unnamed: 0        int64
Text             object
Sentiment        object
Timestamp        object
User             object
Platform         object
Hashtags         object
Retweets        float64
Likes           float64
Country          object
Year              int64
Month             int64
Day               int64
Hour              int64
dtype: object
In [6]:
data.columns
Out[6]:
Index(['Unnamed: 0.1', 'Unnamed: 0', 'Text', 'Sentiment', 'Timestamp', 'User',
       'Platform', 'Hashtags', 'Retweets', 'Likes', 'Country', 'Year', 'Month',
       'Day', 'Hour'],
      dtype='object')
In [7]:
data
Out[7]:
Unnamed: 0.1 Unnamed: 0 Text Sentiment Timestamp User Platform Hashtags Retweets Likes Country Year Month Day Hour
0 0 0 Enjoying a beautiful day at the park! ... Positive 2023-01-15 12:30:00 User123 Twitter #Nature #Park 15.0 30.0 USA 2023 1 15 12
1 1 1 Traffic was terrible this morning. ... Negative 2023-01-15 08:45:00 CommuterX Twitter #Traffic #Morning 5.0 10.0 Canada 2023 1 15 8
2 2 2 Just finished an amazing workout! 💪 ... Positive 2023-01-15 15:45:00 FitnessFan Instagram #Fitness #Workout 20.0 40.0 USA 2023 1 15 15
3 3 3 Excited about the upcoming weekend getaway! ... Positive 2023-01-15 18:20:00 AdventureX Facebook #Travel #Adventure 8.0 15.0 UK 2023 1 15 18
4 4 4 Trying out a new recipe for dinner tonight. ... Neutral 2023-01-15 19:55:00 ChefCook Instagram #Cooking #Food 12.0 25.0 Australia 2023 1 15 19
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
727 728 732 Collaborating on a science project that receiv... Happy 2017-08-18 18:20:00 ScienceProjectSuccessHighSchool Facebook #ScienceFairWinner #HighSchoolScience 20.0 39.0 UK 2017 8 18 18
728 729 733 Attending a surprise birthday party organized ... Happy 2018-06-22 14:15:00 BirthdayPartyJoyHighSchool Instagram #SurpriseCelebration #HighSchoolFriendship 25.0 48.0 USA 2018 6 22 14
729 730 734 Successfully fundraising for a school charity ... Happy 2019-04-05 17:30:00 CharityFundraisingTriumphHighSchool Twitter #CommunityGiving #HighSchoolPhilanthropy 22.0 42.0 Canada 2019 4 5 17
730 731 735 Participating in a multicultural festival, cel... Happy 2020-02-29 20:45:00 MulticulturalFestivalJoyHighSchool Facebook #CulturalCelebration #HighSchoolUnity 21.0 43.0 UK 2020 2 29 20
731 732 736 Organizing a virtual talent show during challe... Happy 2020-11-15 15:15:00 VirtualTalentShowSuccessHighSchool Instagram #VirtualEntertainment #HighSchoolPositivity 24.0 47.0 USA 2020 11 15 15

732 rows × 15 columns

In [8]:
data[['Platform']]
Out[8]:
Platform
0 Twitter
1 Twitter
2 Instagram
3 Facebook
4 Instagram
... ...
727 Facebook
728 Instagram
729 Twitter
730 Facebook
731 Instagram

732 rows × 1 columns

In [9]:
data[['Timestamp']]
Out[9]:
Timestamp
0 2023-01-15 12:30:00
1 2023-01-15 08:45:00
2 2023-01-15 15:45:00
3 2023-01-15 18:20:00
4 2023-01-15 19:55:00
... ...
727 2017-08-18 18:20:00
728 2018-06-22 14:15:00
729 2019-04-05 17:30:00
730 2020-02-29 20:45:00
731 2020-11-15 15:15:00

732 rows × 1 columns

In [10]:
data['Sentiment'].unique()
Out[10]:
array([' Positive  ', ' Negative  ', ' Neutral   ', ' Anger        ',
       ' Fear         ', ' Sadness      ', ' Disgust      ',
       ' Happiness    ', ' Joy          ', ' Love         ',
       ' Amusement    ', ' Enjoyment    ', ' Admiration   ',
       ' Affection    ', ' Awe          ', ' Disappointed ',
       ' Surprise     ', ' Acceptance   ', ' Adoration    ',
       ' Anticipation ', ' Bitter       ', ' Calmness     ',
       ' Confusion    ', ' Excitement   ', ' Kind         ',
       ' Pride        ', ' Shame        ', ' Confusion ', ' Excitement ',
       ' Shame ', ' Elation       ', ' Euphoria      ', ' Contentment   ',
       ' Serenity      ', ' Gratitude     ', ' Hope          ',
       ' Empowerment   ', ' Compassion    ', ' Tenderness    ',
       ' Arousal       ', ' Enthusiasm    ', ' Fulfillment  ',
       ' Reverence     ', ' Compassion', ' Fulfillment   ', ' Reverence ',
       ' Elation   ', ' Despair         ', ' Grief           ',
       ' Loneliness      ', ' Jealousy        ', ' Resentment      ',
       ' Frustration     ', ' Boredom         ', ' Anxiety         ',
       ' Intimidation    ', ' Helplessness    ', ' Envy            ',
       ' Regret         ', ' Disgust         ', ' Despair      ',
       ' Loneliness ', ' Frustration ', ' Anxiety   ', ' Intimidation ',
       ' Helplessness ', ' Jealousy    ', ' Curiosity       ',
       ' Indifference    ', ' Confusion       ', ' Numbness        ',
       ' Melancholy      ', ' Nostalgia       ', ' Ambivalence     ',
       ' Acceptance      ', ' Determination   ', ' Serenity        ',
       ' Numbness ', ' Zest ', ' Contentment ', ' Hopeful ', ' Proud ',
       ' Grateful ', ' Empathetic ', ' Compassionate ', ' Playful ',
       ' Free-spirited ', ' Inspired ', ' Confident ', ' Serenity ',
       ' Curiosity ', ' Ambivalence ', ' Despair ', ' Bitterness ',
       ' Yearning ', ' Fearful ', ' Apprehensive ', ' Overwhelmed ',
       ' Jealous ', ' Devastated ', ' Frustrated ', ' Envious ',
       ' Dismissive ', ' Awe           ', ' Determination ',
       ' Nostalgia      ', ' Thrill        ', ' Calmness      ',
       ' Overwhelmed   ', ' Gratitude   ', ' Bittersweet ',
       ' Curiosity     ', ' Admiration    ', ' Overjoyed     ',
       ' Inspiration   ', ' Motivation    ', ' Amusement     ',
       ' Contemplation ', ' JoyfulReunion ', ' Excitement    ',
       ' Satisfaction  ', ' Blessed       ', ' Anticipation  ',
       ' Reflection    ', ' Nostalgia     ', ' Appreciation  ',
       ' Confidence    ', ' Surprise      ', ' Accomplishment ',
       ' Wonderment    ', ' Optimism      ', ' Pride         ',
       ' Happiness     ', ' Curiosity   ', ' Enchantment   ',
       ' Intrigue      ', ' PlayfulJoy    ', ' Mindfulness   ',
       ' DreamChaser   ', ' Elegance ', ' Whimsy        ', ' Pensive ',
       ' Thrill      ', ' Harmony    ', ' Creativity   ', ' Radiance    ',
       ' Wonder     ', ' Rejuvenation ', ' Inspiration ',
       ' Coziness     ', ' Gratitude  ', ' Adventure ', ' Euphoria   ',
       ' Awe    ', ' Melodic       ', ' FestiveJoy    ',
       ' InnerJourney  ', ' Freedom       ', ' Dazzle        ',
       ' Adrenaline     ', ' Harmony       ', ' ArtisticBurst ',
       ' Radiance      ', ' Wonder       ', ' Inspiration  ',
       ' CulinaryOdyssey ', ' Euphoria     ', ' Curiosity  ',
       ' Resilience   ', ' Immersion ', ' Nostalgia ', ' Spark        ',
       ' Gratitude    ', ' Marvel       ', ' Serenity   ',
       ' Heartbreak    ', ' Loneliness    ', ' Grief      ',
       ' Despair   ', ' Betrayal      ', ' Suffering ',
       ' EmotionalStorm ', ' Regret        ', ' Isolation ',
       ' Disappointment ', ' LostLove ', ' Melancholy ', ' Exhaustion ',
       ' Sorrow      ', ' Darkness     ', ' Desperation ', ' Ruins      ',
       ' Desolation ', ' Regret ', ' Grief ', ' Heartbreak ',
       ' Betrayal ', ' Resilience ', ' Sorrow ', ' Loss ', ' Heartache ',
       ' Solitude ', ' Joy ', ' Happiness ', ' Enthusiasm ',
       ' Gratitude ', ' Positivity ', ' Kindness ', ' Friendship ',
       ' Love ', ' Surprise ', ' Success ', ' Thrill ', ' Reflection ',
       ' Enchantment ', ' Exploration ', ' Awe ', ' Amazement ',
       ' Romance ', ' Captivation ', ' Wonder ', ' Tranquility ',
       ' Grandeur ', ' Emotion ', ' Energy ', ' Celebration ', ' Charm ',
       ' Ecstasy ', ' Hope ', ' Creativity ', ' Colorful ', ' Pride ',
       ' Hypnotic ', ' Connection ', ' Iconic ', ' Euphoria ',
       ' Journey ', ' Engagement ', ' Touched ', ' Suspense ',
       ' Satisfaction ', ' Admiration ', ' Triumph ', ' Heartwarming ',
       ' Obstacle ', ' Sympathy ', ' Pressure ', ' Renewed Effort ',
       ' Miscalculation ', ' Challenge ', ' Solace ', ' Breakthrough ',
       ' Harmony ', ' Joy in Baking ', ' Envisioning History ',
       ' Imagination ', ' Vibrancy ', ' Mesmerizing ',
       ' Culinary Adventure ', ' Winter Magic ', ' Thrilling Journey ',
       " Nature's Beauty ", ' Celestial Wonder ',
       ' Creative Inspiration ', ' Runway Creativity ',
       " Ocean's Freedom ", ' Whispers of the Past ', ' Boredom ',
       ' Indifference ', ' Disgust ', ' Relief ', ' Positive ',
       ' Embarrassed ', ' Mischievous ', ' Sad ', ' Hate ', ' Bad ',
       ' Neutral ', ' Happy '], dtype=object)
In [11]:
data[['Sentiment']]
Out[11]:
Sentiment
0 Positive
1 Negative
2 Positive
3 Positive
4 Neutral
... ...
727 Happy
728 Happy
729 Happy
730 Happy
731 Happy

732 rows × 1 columns

In [12]:
data[['Text']]
Out[12]:
Text
0 Enjoying a beautiful day at the park! ...
1 Traffic was terrible this morning. ...
2 Just finished an amazing workout! 💪 ...
3 Excited about the upcoming weekend getaway! ...
4 Trying out a new recipe for dinner tonight. ...
... ...
727 Collaborating on a science project that receiv...
728 Attending a surprise birthday party organized ...
729 Successfully fundraising for a school charity ...
730 Participating in a multicultural festival, cel...
731 Organizing a virtual talent show during challe...

732 rows × 1 columns

code starts¶

In [14]:
data.shape
Out[14]:
(732, 15)
In [15]:
data.drop(columns='Unnamed: 0.1',inplace=True)
In [16]:
data.rename(columns={'Unnamed: 0':'Id'},inplace=True)
In [17]:
data.head()
Out[17]:
Id Text Sentiment Timestamp User Platform Hashtags Retweets Likes Country Year Month Day Hour
0 0 Enjoying a beautiful day at the park! ... Positive 2023-01-15 12:30:00 User123 Twitter #Nature #Park 15.0 30.0 USA 2023 1 15 12
1 1 Traffic was terrible this morning. ... Negative 2023-01-15 08:45:00 CommuterX Twitter #Traffic #Morning 5.0 10.0 Canada 2023 1 15 8
2 2 Just finished an amazing workout! 💪 ... Positive 2023-01-15 15:45:00 FitnessFan Instagram #Fitness #Workout 20.0 40.0 USA 2023 1 15 15
3 3 Excited about the upcoming weekend getaway! ... Positive 2023-01-15 18:20:00 AdventureX Facebook #Travel #Adventure 8.0 15.0 UK 2023 1 15 18
4 4 Trying out a new recipe for dinner tonight. ... Neutral 2023-01-15 19:55:00 ChefCook Instagram #Cooking #Food 12.0 25.0 Australia 2023 1 15 19
In [18]:
data.isnull().sum()
Out[18]:
Id           0
Text         0
Sentiment    0
Timestamp    0
User         0
Platform     0
Hashtags     0
Retweets     0
Likes        0
Country      0
Year         0
Month        0
Day          0
Hour         0
dtype: int64
In [19]:
data.dtypes
Out[19]:
Id             int64
Text          object
Sentiment     object
Timestamp     object
User          object
Platform      object
Hashtags      object
Retweets     float64
Likes        float64
Country       object
Year           int64
Month          int64
Day            int64
Hour           int64
dtype: object
In [20]:
data['Retweets']=data['Retweets'].astype(int)
In [21]:
data['Retweets'].dtypes
Out[21]:
dtype('int32')
In [22]:
data[['Retweets']]
Out[22]:
Retweets
0 15
1 5
2 20
3 8
4 12
... ...
727 20
728 25
729 22
730 21
731 24

732 rows × 1 columns

In [23]:
data['Likes']=data['Likes'].astype(int)
In [24]:
data['Likes'].dtype
Out[24]:
dtype('int32')
In [25]:
data[['Likes']]
Out[25]:
Likes
0 30
1 10
2 40
3 15
4 25
... ...
727 39
728 48
729 42
730 43
731 47

732 rows × 1 columns

In [26]:
data.dtypes
Out[26]:
Id            int64
Text         object
Sentiment    object
Timestamp    object
User         object
Platform     object
Hashtags     object
Retweets      int32
Likes         int32
Country      object
Year          int64
Month         int64
Day           int64
Hour          int64
dtype: object
In [27]:
data.head(1)
Out[27]:
Id Text Sentiment Timestamp User Platform Hashtags Retweets Likes Country Year Month Day Hour
0 0 Enjoying a beautiful day at the park! ... Positive 2023-01-15 12:30:00 User123 Twitter #Nature #Park 15 30 USA 2023 1 15 12

Timestap column¶

In [29]:
data['Timestamp'] = pd.to_datetime(data['Timestamp'])
data['Day'] = data['Timestamp'].dt.day
data['Month'] = data['Timestamp'].dt.month
data['Year'] = data['Timestamp'].dt.year
In [30]:
data.head(3)
Out[30]:
Id Text Sentiment Timestamp User Platform Hashtags Retweets Likes Country Year Month Day Hour
0 0 Enjoying a beautiful day at the park! ... Positive 2023-01-15 12:30:00 User123 Twitter #Nature #Park 15 30 USA 2023 1 15 12
1 1 Traffic was terrible this morning. ... Negative 2023-01-15 08:45:00 CommuterX Twitter #Traffic #Morning 5 10 Canada 2023 1 15 8
2 2 Just finished an amazing workout! 💪 ... Positive 2023-01-15 15:45:00 FitnessFan Instagram #Fitness #Workout 20 40 USA 2023 1 15 15
In [31]:
data['Sentiment'].value_counts().nlargest(10).plot(kind='bar')
plt.title('Top 10 Sentiments based on Text')
plt.xlabel('Sentiment')
plt.ylabel('Count')
plt.show()
No description has been provided for this image
In [32]:
data.columns
Out[32]:
Index(['Id', 'Text', 'Sentiment', 'Timestamp', 'User', 'Platform', 'Hashtags',
       'Retweets', 'Likes', 'Country', 'Year', 'Month', 'Day', 'Hour'],
      dtype='object')
In [33]:
data['Platform'].value_counts()
Out[33]:
Platform
Instagram     258
Facebook      231
Twitter       128
Twitter       115
Name: count, dtype: int64
In [34]:
data['Country'].value_counts()
Out[34]:
Country
USA               59
USA               55
UK                49
Canada            44
Australia         41
                  ..
Netherlands        1
USA                1
Germany            1
France             1
USA                1
Name: count, Length: 115, dtype: int64
In [35]:
data['Platform'].value_counts().plot(kind='pie', autopct='%1.1f%%')
plt.title('Percentages of Platforms')
plt.legend()
plt.show()
No description has been provided for this image
In [36]:
data[['Country']]
Out[36]:
Country
0 USA
1 Canada
2 USA
3 UK
4 Australia
... ...
727 UK
728 USA
729 Canada
730 UK
731 USA

732 rows × 1 columns

In [37]:
data['Country'].unique()
Out[37]:
array([' USA      ', ' Canada   ', ' USA        ', ' UK       ',
       ' Australia ', ' India    ', ' USA    ', 'USA', ' Canada    ',
       ' USA       ', ' USA ', ' Canada  ', ' UK ', ' India     ',
       ' Canada ', ' UK        ', ' India ', ' UK   ', ' UK         ',
       ' USA     ', ' Canada     ', ' USA          ', ' India      ',
       ' Australia  ', ' UK           ', ' Canada       ',
       ' Australia   ', ' Australia    ', ' UK            ', ' USA   ',
       ' India       ', ' UK          ', ' USA  ', ' UK      ',
       ' Canada      ', ' India   ', ' Canada          ',
       ' India        ', ' Australia     ', ' Canada        ',
       ' India         ', ' USA           ', ' USA               ',
       ' Canada            ', ' UK                ',
       ' India              ', ' Australia          ',
       ' France            ', ' Brazil            ',
       ' Japan             ', ' Greece            ',
       ' India             ', ' Brazil           ', ' France           ',
       ' Japan            ', ' Canada           ', ' Australia         ',
       ' UK               ', ' USA             ', ' Greece           ',
       ' Germany         ', ' Sweden          ', ' Italy           ',
       ' Netherlands     ', ' South Africa    ', ' Spain           ',
       ' Portugal        ', ' Switzerland     ', ' Austria         ',
       ' Belgium         ', ' Denmark         ', ' Czech Republic  ',
       ' Canada         ', ' France          ', ' UK              ',
       ' India          ', ' Australia      ', ' Japan           ',
       ' Brazil          ', ' Germany       ', ' Australia        ',
       ' France         ', ' Italy         ', ' Japan       ',
       ' Spain        ', ' Netherlands  ', ' South Africa ',
       ' Germany     ', ' USA         ', ' France    ', ' Brazil     ',
       ' Germany ', ' Brazil ', ' France ', ' Italy ', ' Japan ',
       ' Spain ', ' Netherlands ', ' Greece ', ' Jordan ', ' Peru ',
       ' Maldives ', ' China ', ' Cambodia ', ' Switzerland ', ' Norway ',
       ' Colombia ', ' Ireland ', ' Jamaica ', ' Kenya ', ' Scotland ',
       ' Thailand ', ' USA', ' Canada', ' UK'], dtype=object)
In [38]:
data['Country'].value_counts().nlargest(10).plot(kind='bar')
plt.title('Top 10 Country')
plt.legend()
plt.show()
No description has been provided for this image
In [39]:
data['Hashtags']
Out[39]:
0          #Nature #Park                            
1          #Traffic #Morning                        
2          #Fitness #Workout                        
3          #Travel #Adventure                       
4          #Cooking #Food                           
                           ...                      
727           #ScienceFairWinner #HighSchoolScience 
728      #SurpriseCelebration #HighSchoolFriendship 
729        #CommunityGiving #HighSchoolPhilanthropy 
730           #CulturalCelebration #HighSchoolUnity 
731     #VirtualEntertainment #HighSchoolPositivity 
Name: Hashtags, Length: 732, dtype: object
In [40]:
data['Hashtags'].value_counts().nlargest(10).plot(kind='bar')
plt.title('Top 10 Hashtags')
plt.xlabel('Hashtags')
plt.ylabel('Count')
plt.legend()
plt.show()
No description has been provided for this image
In [41]:
# Describe data nurimucal
data.describe()
Out[41]:
Id Timestamp Retweets Likes Year Month Day Hour
count 732.000000 732 732.000000 732.000000 732.000000 732.000000 732.000000 732.000000
mean 369.740437 2020-12-08 21:37:38.196721408 21.508197 42.901639 2020.471311 6.122951 15.497268 15.521858
min 0.000000 2010-05-15 15:30:00 5.000000 10.000000 2010.000000 1.000000 1.000000 0.000000
25% 185.750000 2019-03-08 17:27:30 17.750000 34.750000 2019.000000 3.000000 9.000000 13.000000
50% 370.500000 2021-09-20 14:30:00 22.000000 43.000000 2021.000000 6.000000 15.000000 16.000000
75% 553.250000 2023-02-26 11:48:45 25.000000 50.000000 2023.000000 9.000000 22.000000 19.000000
max 736.000000 2023-10-22 20:45:00 40.000000 80.000000 2023.000000 12.000000 31.000000 23.000000
std 212.428936 NaN 7.061286 14.089848 2.802285 3.411763 8.474553 4.113414
In [42]:
data.head(1)
Out[42]:
Id Text Sentiment Timestamp User Platform Hashtags Retweets Likes Country Year Month Day Hour
0 0 Enjoying a beautiful day at the park! ... Positive 2023-01-15 12:30:00 User123 Twitter #Nature #Park 15 30 USA 2023 1 15 12

Top 10 hashtags retweeted¶

In [44]:
H_R=data.groupby('Hashtags')['Retweets'].max().nlargest(10).sort_values(ascending=False).plot(kind='bar')
plt.title('Top 10 hashtags retweeted')
plt.xlabel('Hashtags')
plt.ylabel('count')
plt.show()
No description has been provided for this image

Which platform is top! liked by users¶

In [46]:
top_likes_platform = data.groupby('Platform')['Likes'].sum().nlargest(10)
top_likes_platform.plot(kind='bar')
plt.title('Top Platforms by Total Likes')
plt.xlabel('Platform')
plt.ylabel('Total Likes')
plt.show()
No description has been provided for this image

What is the most country liked posts¶

In [48]:
top_country_likes=data.groupby('Country')['Likes'].sum().nlargest(10)
top_country_likes.plot(kind='bar')
plt.title('Top country likes')
plt.xlabel('Country')
plt.ylabel('count')
plt.show()
No description has been provided for this image

EDA¶

In [50]:
import nltk # Natural Language Toolkit
from nltk.corpus import stopwords
from nltk.stem import PorterStemmer #to remove suffixes
import re # regular expression
import string #to find occurences of a pattern, such as word or phrase, text
from nltk.stem import PorterStemmer
from nltk import tokenize
from nltk.tokenize import sent_tokenize
from nltk.tokenize import word_tokenize
In [51]:
import nltk
nltk.download('stopwords') # commonly used words helps to processing..
[nltk_data] Downloading package stopwords to
[nltk_data]     C:\Users\hari6\AppData\Roaming\nltk_data...
[nltk_data]   Unzipping corpora\stopwords.zip.
Out[51]:
True
In [52]:
 nltk.download('punkt') #sentence tokenizer
[nltk_data] Downloading package punkt to
[nltk_data]     C:\Users\hari6\AppData\Roaming\nltk_data...
[nltk_data]   Package punkt is already up-to-date!
Out[52]:
True
In [53]:
stemmer = PorterStemmer()
stop_words = set(stopwords.words('english'))

def clean(text):
    text = str(text).lower()
    text = re.sub('\[.*?\]', '', text) #replace match substring with a new string
    text = re.sub('https?://\S+|www\.\S+', '', text)
    text = re.sub(r'\s+', ' ', text.strip())
    text = re.sub('<.*?>+', '', text)
    text = re.sub('[%s]' % re.escape(string.punctuation), '', text)
    text = re.sub('\n', '', text)
    text = re.sub('\w*\d\w*', '', text)
    text = re.sub(r'[^\x00-\x7F]+', '', text)  
    text = " ".join(text.split())
    tokens = word_tokenize(text)

    cleaned_tokens = [stemmer.stem(token) for token in tokens if token.lower() not in stop_words]
   
    cleaned_text = ' '.join(cleaned_tokens)
    
    return cleaned_text

data["Clean_Text"] = data["Text"].apply(clean)
<>:6: SyntaxWarning: invalid escape sequence '\['
<>:7: SyntaxWarning: invalid escape sequence '\S'
<>:12: SyntaxWarning: invalid escape sequence '\w'
<>:6: SyntaxWarning: invalid escape sequence '\['
<>:7: SyntaxWarning: invalid escape sequence '\S'
<>:12: SyntaxWarning: invalid escape sequence '\w'
C:\Users\hari6\AppData\Local\Temp\ipykernel_10092\275143958.py:6: SyntaxWarning: invalid escape sequence '\['
  text = re.sub('\[.*?\]', '', text) #replace match substring with a new string
C:\Users\hari6\AppData\Local\Temp\ipykernel_10092\275143958.py:7: SyntaxWarning: invalid escape sequence '\S'
  text = re.sub('https?://\S+|www\.\S+', '', text)
C:\Users\hari6\AppData\Local\Temp\ipykernel_10092\275143958.py:12: SyntaxWarning: invalid escape sequence '\w'
  text = re.sub('\w*\d\w*', '', text)
In [54]:
data1=data.copy()
In [55]:
data.head(1)
Out[55]:
Id Text Sentiment Timestamp User Platform Hashtags Retweets Likes Country Year Month Day Hour Clean_Text
0 0 Enjoying a beautiful day at the park! ... Positive 2023-01-15 12:30:00 User123 Twitter #Nature #Park 15 30 USA 2023 1 15 12 enjoy beauti day park
In [56]:
data1.head(1)
Out[56]:
Id Text Sentiment Timestamp User Platform Hashtags Retweets Likes Country Year Month Day Hour Clean_Text
0 0 Enjoying a beautiful day at the park! ... Positive 2023-01-15 12:30:00 User123 Twitter #Nature #Park 15 30 USA 2023 1 15 12 enjoy beauti day park
In [57]:
!pip install vaderSentiment
# VADER( Valence Aware Dictionary for Sentiment Reasoning) 
# is an NLTK module that provides sentiment scores based on the words used.
Requirement already satisfied: vaderSentiment in d:\anaconda\lib\site-packages (3.3.2)
Requirement already satisfied: requests in d:\anaconda\lib\site-packages (from vaderSentiment) (2.32.2)
Requirement already satisfied: charset-normalizer<4,>=2 in d:\anaconda\lib\site-packages (from requests->vaderSentiment) (2.0.4)
Requirement already satisfied: idna<4,>=2.5 in d:\anaconda\lib\site-packages (from requests->vaderSentiment) (3.7)
Requirement already satisfied: urllib3<3,>=1.21.1 in d:\anaconda\lib\site-packages (from requests->vaderSentiment) (2.2.2)
Requirement already satisfied: certifi>=2017.4.17 in d:\anaconda\lib\site-packages (from requests->vaderSentiment) (2024.7.4)
In [58]:
from nltk.sentiment import SentimentIntensityAnalyzer
In [59]:
analyzer = SentimentIntensityAnalyzer() #Sentiment score

vader_lexicon - Is anis a lexicon and rule-based sentiment analysis tool that is specifically attuned to sentiments expressed in social media, and works well on texts from.¶

In [61]:
 nltk.download('vader_lexicon') 
[nltk_data] Downloading package vader_lexicon to
[nltk_data]     C:\Users\hari6\AppData\Roaming\nltk_data...
[nltk_data]   Package vader_lexicon is already up-to-date!
Out[61]:
True
In [62]:
data1['Vader_Score'] = data1['Clean_Text'].apply(lambda text: analyzer.polarity_scores(text)['compound'])

data1['Sentiment'] = data1['Vader_Score'].apply(lambda score: 'positive' if score >= 0.05 else ('negative' if score <= -0.05 else 'neutral'))

print(data1[['Clean_Text', 'Vader_Score', 'Sentiment']].head())
                     Clean_Text  Vader_Score Sentiment
0         enjoy beauti day park       0.4939  positive
1          traffic terribl morn       0.0000   neutral
2           finish amaz workout       0.0000   neutral
3   excit upcom weekend getaway       0.0000   neutral
4  tri new recip dinner tonight       0.0000   neutral
In [63]:
colors = ['#66b3ff', '#99ff99', '#ffcc99']
In [64]:
explode = (0.1, 0, 0)  

sentiment_counts = data1.groupby("Sentiment").size()

fig, ax = plt.subplots() 

wedges, texts, autotexts = ax.pie(
    x=sentiment_counts, 
    labels=sentiment_counts.index,
    autopct=lambda p: f'{p:.2f}%\n({int(p*sum(sentiment_counts)/100)})', 
    wedgeprops=dict(width=0.7),
    textprops=dict(size=10, color="r"),  
    pctdistance=0.7,
    colors=colors,
    explode=explode,
    shadow=True)

center_circle = plt.Circle((0, 0), 0.6, color='white', fc='white', linewidth=1.25)
fig.gca().add_artist(center_circle)
ax.text(0, 0, 'Sentiment\nDistribution', ha='center', va='center', fontsize=14, fontweight='bold', color='#333333')

ax.legend(sentiment_counts.index, title="Sentiment", loc="center left", bbox_to_anchor=(1, 0, 0.5, 1))

ax.axis('equal')  

plt.show()
No description has been provided for this image

common words used in this dataset¶

In [66]:
from collections import Counter #We can count the frequency of the words in the file using the counter function 
In [67]:
data1['temp_list'] = data1['Clean_Text'].apply(lambda x: str(x).split())
top_words = Counter([item for sublist in data1['temp_list'] for item in sublist])
top_words_df = pd.DataFrame(top_words.most_common(20), columns=['Common_words', 'count'])

top_words_df.style.background_gradient(cmap='Blues')
Out[67]:
  Common_words count
0 new 43
1 life 37
2 challeng 34
3 joy 31
4 danc 30
5 day 29
6 feel 29
7 like 28
8 dream 28
9 moment 27
10 emot 27
11 friend 26
12 heart 26
13 explor 25
14 echo 25
15 beauti 24
16 laughter 24
17 embrac 24
18 night 23
19 hope 23

import plotly.express as px¶

In [69]:
import plotly.express as px 
In [70]:
data1['temp_list'] = data1['Clean_Text'].apply(lambda x: str(x).split())
top_words = Counter([item for sublist in data1['temp_list'] for item in sublist])
top_words_df = pd.DataFrame(top_words.most_common(20), columns=['Common_words', 'count'])

fig = px.bar(top_words_df,
            x="count",
            y="Common_words",
            title='Common Words in Text Data',
            orientation='h',
            width=700,
            height=700,
            color='Common_words')

fig.show()

Positive Common Words¶

In [72]:
top = Counter([item for sublist in data1[data1['Sentiment'] == 'positive']['temp_list'] for item in sublist])
temp_positive = pd.DataFrame(top.most_common(10), columns=['Common_words', 'count'])
temp_positive.style.background_gradient(cmap='Greens')
Out[72]:
  Common_words count
0 joy 30
1 friend 24
2 laughter 24
3 new 21
4 challeng 20
5 life 20
6 hope 20
7 dream 20
8 embrac 19
9 like 19
In [73]:
pip install wordcloud
Requirement already satisfied: wordcloud in d:\anaconda\lib\site-packages (1.9.3)
Requirement already satisfied: numpy>=1.6.1 in d:\anaconda\lib\site-packages (from wordcloud) (1.26.4)
Requirement already satisfied: pillow in d:\anaconda\lib\site-packages (from wordcloud) (10.3.0)
Requirement already satisfied: matplotlib in d:\anaconda\lib\site-packages (from wordcloud) (3.8.4)
Requirement already satisfied: contourpy>=1.0.1 in d:\anaconda\lib\site-packages (from matplotlib->wordcloud) (1.2.0)
Requirement already satisfied: cycler>=0.10 in d:\anaconda\lib\site-packages (from matplotlib->wordcloud) (0.11.0)
Requirement already satisfied: fonttools>=4.22.0 in d:\anaconda\lib\site-packages (from matplotlib->wordcloud) (4.51.0)
Requirement already satisfied: kiwisolver>=1.3.1 in d:\anaconda\lib\site-packages (from matplotlib->wordcloud) (1.4.4)
Requirement already satisfied: packaging>=20.0 in d:\anaconda\lib\site-packages (from matplotlib->wordcloud) (23.2)
Requirement already satisfied: pyparsing>=2.3.1 in d:\anaconda\lib\site-packages (from matplotlib->wordcloud) (3.0.9)
Requirement already satisfied: python-dateutil>=2.7 in d:\anaconda\lib\site-packages (from matplotlib->wordcloud) (2.9.0.post0)
Requirement already satisfied: six>=1.5 in d:\anaconda\lib\site-packages (from python-dateutil>=2.7->matplotlib->wordcloud) (1.16.0)
Note: you may need to restart the kernel to use updated packages.
In [74]:
from wordcloud import WordCloud # Get insight into the most popular concepts or to reveal sentiment.
# It provides instant analysis & visualization of word data and feedback
In [75]:
words = ' '.join([item for sublist in data1[data1['Sentiment'] == 'positive']['temp_list'] for item in sublist])
wordcloud = WordCloud(width=800, height=400, background_color='white').generate(words)

plt.figure(figsize=(10, 8))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()
No description has been provided for this image

Neutral Common Words¶

In [77]:
top = Counter([item for sublist in data1[data1['Sentiment'] == 'neutral']['temp_list'] for item in sublist])
temp_positive = pd.DataFrame(top.most_common(10), columns=['Common_words', 'count'])
temp_positive.style.background_gradient(cmap='Blues')
Out[77]:
  Common_words count
0 new 22
1 explor 13
2 excit 12
3 life 12
4 beauti 12
5 night 12
6 danc 12
7 attend 11
8 seren 11
9 feel 10
In [78]:
words = ' '.join([item for sublist in data1[data1['Sentiment'] == 'neutral']['temp_list'] for item in sublist])
wordcloud = WordCloud(width=800, height=400, background_color='white').generate(words)
plt.figure(figsize=(10, 8))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()
No description has been provided for this image

Negative Common Words¶

In [80]:
top = Counter([item for sublist in data1[data1['Sentiment'] == 'negative']['temp_list'] for item in sublist])
temp_positive = pd.DataFrame(top.most_common(10), columns=['Common_words', 'count'])
temp_positive.style.background_gradient(cmap='Reds')
Out[80]:
  Common_words count
0 despair 14
1 lost 14
2 emot 13
3 feel 11
4 bitter 10
5 storm 10
6 day 9
7 like 9
8 grief 8
9 heart 8
In [81]:
words = ' '.join([item for sublist in data1[data1['Sentiment'] == 'negative']['temp_list'] for item in sublist])
wordcloud = WordCloud(width=800, height=400, background_color='white').generate(words)

plt.figure(figsize=(10, 8))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off')
plt.show()
No description has been provided for this image

Data Preparation¶

In [83]:
data2 = data1.copy()
In [84]:
from sklearn.feature_extraction.text import TfidfVectorizer #term frequency inverse document frequency
from sklearn.linear_model import PassiveAggressiveClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, classification_report
from sklearn.linear_model import LogisticRegression
from sklearn.ensemble import RandomForestClassifier
from sklearn.svm import SVC
from sklearn.model_selection import RandomizedSearchCV
from sklearn.metrics import confusion_matrix

Split Data¶

In [86]:
X = data2['Clean_Text'].values
y = data2['Sentiment'].values
In [87]:
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

Modeling¶

In [89]:
vectorizer = TfidfVectorizer(max_features=5000)
X_train = vectorizer.fit_transform(X_train)
X_test = vectorizer.transform(X_test)

Logistic Classifier¶

In [91]:
logistic_classifier = LogisticRegression(max_iter=50, random_state=42)
logistic_classifier.fit(X_train, y_train)
Out[91]:
LogisticRegression(max_iter=50, random_state=42)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
LogisticRegression(max_iter=50, random_state=42)
In [92]:
y_pred_logistic = logistic_classifier.predict(X_test)
accuracy_logistic = accuracy_score(y_test, y_pred_logistic)
classification_rep_logistic = classification_report(y_test, y_pred_logistic)
In [93]:
print("Logistic Regression Results:")
print(f"Accuracy: {accuracy_logistic}")
print("Classification Report:\n", classification_rep_logistic)
Logistic Regression Results:
Accuracy: 0.6326530612244898
Classification Report:
               precision    recall  f1-score   support

    negative       0.89      0.50      0.64        32
     neutral       0.80      0.36      0.50        55
    positive       0.55      0.95      0.70        60

    accuracy                           0.63       147
   macro avg       0.75      0.60      0.61       147
weighted avg       0.72      0.63      0.61       147

Random Forest Classifier¶

In [95]:
random_forest_classifier = RandomForestClassifier(random_state=42)
random_forest_classifier.fit(X_train, y_train)
Out[95]:
RandomForestClassifier(random_state=42)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
RandomForestClassifier(random_state=42)
In [96]:
y_pred_rf = random_forest_classifier.predict(X_test)
accuracy_rf = accuracy_score(y_test, y_pred_rf)
classification_rep_rf = classification_report(y_test, y_pred_rf)
In [97]:
print("\nRandom Forest Results:")
print(f"Accuracy: {accuracy_rf}")
print("Classification Report:\n", classification_rep_rf)
Random Forest Results:
Accuracy: 0.6530612244897959
Classification Report:
               precision    recall  f1-score   support

    negative       0.86      0.59      0.70        32
     neutral       0.77      0.44      0.56        55
    positive       0.56      0.88      0.69        60

    accuracy                           0.65       147
   macro avg       0.73      0.64      0.65       147
weighted avg       0.71      0.65      0.64       147

Passive Aggressive Classifier¶

In [99]:
pac_classifier = PassiveAggressiveClassifier(max_iter=50, random_state=42)
pac_classifier.fit(X_train, y_train)
Out[99]:
PassiveAggressiveClassifier(max_iter=50, random_state=42)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
PassiveAggressiveClassifier(max_iter=50, random_state=42)
In [100]:
y_pred = pac_classifier.predict(X_test)
accuracy_test = accuracy_score(y_test, y_pred)
classification_rep_test = classification_report(y_test, y_pred)
In [101]:
print("Test Set Results:")
print(f"Accuracy: {accuracy_test}")
print("Classification Report:\n", classification_rep_test)
Test Set Results:
Accuracy: 0.7142857142857143
Classification Report:
               precision    recall  f1-score   support

    negative       0.79      0.81      0.80        32
     neutral       0.73      0.55      0.62        55
    positive       0.67      0.82      0.74        60

    accuracy                           0.71       147
   macro avg       0.73      0.72      0.72       147
weighted avg       0.72      0.71      0.71       147

SVM Classifier¶

In [103]:
svm_classifier = SVC(random_state=42)
svm_classifier.fit(X_train, y_train)
Out[103]:
SVC(random_state=42)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
SVC(random_state=42)
In [104]:
y_pred_svm = svm_classifier.predict(X_test)
accuracy_svm = accuracy_score(y_test, y_pred_svm)
classification_rep_svm = classification_report(y_test, y_pred_svm)
In [108]:
print("Support Vector Machine Results:")
print(f"Accuracy: {accuracy_svm}")
print("Classification Report:\n", classification_rep_svm)
Support Vector Machine Results:
Accuracy: 0.5986394557823129
Classification Report:
               precision    recall  f1-score   support

    negative       1.00      0.38      0.55        32
     neutral       0.94      0.31      0.47        55
    positive       0.50      0.98      0.67        60

    accuracy                           0.60       147
   macro avg       0.82      0.56      0.56       147
weighted avg       0.78      0.60      0.57       147

Best Modeling Is : Passive Aggressive Classifier¶

In [112]:
pip install powerbiclient
Collecting powerbiclientNote: you may need to restart the kernel to use updated packages.

  Downloading powerbiclient-3.1.1-py2.py3-none-any.whl.metadata (3.8 kB)
Requirement already satisfied: ipywidgets>=7.0.0 in d:\anaconda\lib\site-packages (from powerbiclient) (7.8.1)
Collecting jupyter-ui-poll>=0.1.2 (from powerbiclient)
  Downloading jupyter_ui_poll-1.0.0-py2.py3-none-any.whl.metadata (7.3 kB)
Collecting msal>=1.8.0 (from powerbiclient)
  Downloading msal-1.32.0-py3-none-any.whl.metadata (11 kB)
Requirement already satisfied: requests>=2.25.1 in d:\anaconda\lib\site-packages (from powerbiclient) (2.32.2)
Requirement already satisfied: pandas in d:\anaconda\lib\site-packages (from powerbiclient) (2.2.2)
Collecting pyspark (from powerbiclient)
  Downloading pyspark-3.5.5.tar.gz (317.2 MB)
     ---------------------------------------- 0.0/317.2 MB ? eta -:--:--
     ---------------------------------------- 0.2/317.2 MB 4.6 MB/s eta 0:01:10
     --------------------------------------- 1.1/317.2 MB 11.5 MB/s eta 0:00:28
     --------------------------------------- 2.0/317.2 MB 16.0 MB/s eta 0:00:20
     --------------------------------------- 3.1/317.2 MB 17.9 MB/s eta 0:00:18
     --------------------------------------- 3.6/317.2 MB 16.5 MB/s eta 0:00:19
      -------------------------------------- 4.2/317.2 MB 16.6 MB/s eta 0:00:19
      -------------------------------------- 4.7/317.2 MB 15.8 MB/s eta 0:00:20
      -------------------------------------- 5.2/317.2 MB 15.9 MB/s eta 0:00:20
      -------------------------------------- 5.9/317.2 MB 15.0 MB/s eta 0:00:21
      -------------------------------------- 6.4/317.2 MB 15.1 MB/s eta 0:00:21
      -------------------------------------- 6.9/317.2 MB 14.7 MB/s eta 0:00:22
      -------------------------------------- 7.4/317.2 MB 14.9 MB/s eta 0:00:21
      -------------------------------------- 8.0/317.2 MB 14.5 MB/s eta 0:00:22
     - ------------------------------------- 8.4/317.2 MB 14.5 MB/s eta 0:00:22
     - ------------------------------------- 8.9/317.2 MB 14.3 MB/s eta 0:00:22
     - ------------------------------------- 9.5/317.2 MB 14.1 MB/s eta 0:00:22
     - ------------------------------------ 10.0/317.2 MB 14.2 MB/s eta 0:00:22
     - ------------------------------------ 10.6/317.2 MB 14.6 MB/s eta 0:00:22
     - ------------------------------------ 11.1/317.2 MB 14.6 MB/s eta 0:00:22
     - ------------------------------------ 11.6/317.2 MB 14.2 MB/s eta 0:00:22
     - ------------------------------------ 12.2/317.2 MB 13.6 MB/s eta 0:00:23
     - ------------------------------------ 12.8/317.2 MB 13.4 MB/s eta 0:00:23
     - ------------------------------------ 13.4/317.2 MB 13.1 MB/s eta 0:00:24
     - ------------------------------------ 13.9/317.2 MB 13.1 MB/s eta 0:00:24
     - ------------------------------------ 14.5/317.2 MB 13.1 MB/s eta 0:00:24
     - ------------------------------------ 15.0/317.2 MB 12.8 MB/s eta 0:00:24
     - ------------------------------------ 15.5/317.2 MB 13.1 MB/s eta 0:00:24
     - ------------------------------------ 16.1/317.2 MB 13.1 MB/s eta 0:00:24
     - ------------------------------------ 16.6/317.2 MB 12.8 MB/s eta 0:00:24
     -- ----------------------------------- 17.1/317.2 MB 12.8 MB/s eta 0:00:24
     -- ----------------------------------- 17.6/317.2 MB 12.8 MB/s eta 0:00:24
     -- ----------------------------------- 18.2/317.2 MB 13.1 MB/s eta 0:00:23
     -- ----------------------------------- 18.7/317.2 MB 12.8 MB/s eta 0:00:24
     -- ----------------------------------- 19.3/317.2 MB 12.8 MB/s eta 0:00:24
     -- ----------------------------------- 19.8/317.2 MB 13.1 MB/s eta 0:00:23
     -- ----------------------------------- 20.3/317.2 MB 12.8 MB/s eta 0:00:24
     -- ----------------------------------- 20.8/317.2 MB 12.8 MB/s eta 0:00:24
     -- ----------------------------------- 21.4/317.2 MB 13.1 MB/s eta 0:00:23
     -- ----------------------------------- 21.9/317.2 MB 13.1 MB/s eta 0:00:23
     -- ----------------------------------- 22.4/317.2 MB 12.8 MB/s eta 0:00:23
     -- ----------------------------------- 23.1/317.2 MB 12.8 MB/s eta 0:00:23
     -- ----------------------------------- 23.7/317.2 MB 12.9 MB/s eta 0:00:23
     -- ----------------------------------- 24.2/317.2 MB 12.8 MB/s eta 0:00:23
     -- ----------------------------------- 24.7/317.2 MB 12.8 MB/s eta 0:00:23
     --- ---------------------------------- 25.2/317.2 MB 13.1 MB/s eta 0:00:23
     --- ---------------------------------- 25.7/317.2 MB 12.8 MB/s eta 0:00:23
     --- ---------------------------------- 26.3/317.2 MB 13.1 MB/s eta 0:00:23
     --- ---------------------------------- 26.9/317.2 MB 12.9 MB/s eta 0:00:23
     --- ---------------------------------- 27.6/317.2 MB 12.8 MB/s eta 0:00:23
     --- ---------------------------------- 28.2/317.2 MB 12.8 MB/s eta 0:00:23
     --- ---------------------------------- 28.7/317.2 MB 13.1 MB/s eta 0:00:23
     --- ---------------------------------- 29.3/317.2 MB 12.8 MB/s eta 0:00:23
     --- ---------------------------------- 29.8/317.2 MB 13.1 MB/s eta 0:00:22
     --- ---------------------------------- 30.4/317.2 MB 12.8 MB/s eta 0:00:23
     --- ---------------------------------- 30.9/317.2 MB 12.8 MB/s eta 0:00:23
     --- ---------------------------------- 31.6/317.2 MB 12.8 MB/s eta 0:00:23
     --- ---------------------------------- 32.1/317.2 MB 13.1 MB/s eta 0:00:22
     --- ---------------------------------- 32.6/317.2 MB 13.1 MB/s eta 0:00:22
     --- ---------------------------------- 33.1/317.2 MB 12.8 MB/s eta 0:00:23
     ---- --------------------------------- 33.8/317.2 MB 13.4 MB/s eta 0:00:22
     ---- --------------------------------- 34.5/317.2 MB 13.1 MB/s eta 0:00:22
     ---- --------------------------------- 35.1/317.2 MB 13.1 MB/s eta 0:00:22
     ---- --------------------------------- 35.7/317.2 MB 13.1 MB/s eta 0:00:22
     ---- --------------------------------- 36.3/317.2 MB 13.1 MB/s eta 0:00:22
     ---- --------------------------------- 37.0/317.2 MB 13.1 MB/s eta 0:00:22
     ---- --------------------------------- 37.6/317.2 MB 13.1 MB/s eta 0:00:22
     ---- --------------------------------- 38.2/317.2 MB 12.9 MB/s eta 0:00:22
     ---- --------------------------------- 38.8/317.2 MB 13.1 MB/s eta 0:00:22
     ---- --------------------------------- 39.4/317.2 MB 12.8 MB/s eta 0:00:22
     ---- --------------------------------- 39.9/317.2 MB 13.1 MB/s eta 0:00:22
     ---- --------------------------------- 40.5/317.2 MB 13.1 MB/s eta 0:00:22
     ---- --------------------------------- 41.0/317.2 MB 13.1 MB/s eta 0:00:22
     ---- --------------------------------- 41.6/317.2 MB 13.1 MB/s eta 0:00:22
     ----- -------------------------------- 42.1/317.2 MB 12.8 MB/s eta 0:00:22
     ----- -------------------------------- 42.6/317.2 MB 13.1 MB/s eta 0:00:21
     ----- -------------------------------- 43.2/317.2 MB 13.1 MB/s eta 0:00:21
     ----- -------------------------------- 43.8/317.2 MB 12.8 MB/s eta 0:00:22
     ----- -------------------------------- 44.3/317.2 MB 12.8 MB/s eta 0:00:22
     ----- -------------------------------- 44.8/317.2 MB 13.1 MB/s eta 0:00:21
     ----- -------------------------------- 45.5/317.2 MB 12.8 MB/s eta 0:00:22
     ----- -------------------------------- 46.0/317.2 MB 12.8 MB/s eta 0:00:22
     ----- -------------------------------- 46.6/317.2 MB 12.8 MB/s eta 0:00:22
     ----- -------------------------------- 47.2/317.2 MB 12.8 MB/s eta 0:00:22
     ----- -------------------------------- 47.7/317.2 MB 12.8 MB/s eta 0:00:21
     ----- -------------------------------- 48.2/317.2 MB 13.1 MB/s eta 0:00:21
     ----- -------------------------------- 48.8/317.2 MB 12.8 MB/s eta 0:00:21
     ----- -------------------------------- 49.3/317.2 MB 12.8 MB/s eta 0:00:21
     ----- -------------------------------- 49.8/317.2 MB 13.1 MB/s eta 0:00:21
     ------ ------------------------------- 50.4/317.2 MB 13.1 MB/s eta 0:00:21
     ------ ------------------------------- 50.9/317.2 MB 13.1 MB/s eta 0:00:21
     ------ ------------------------------- 51.5/317.2 MB 13.1 MB/s eta 0:00:21
     ------ ------------------------------- 52.1/317.2 MB 13.1 MB/s eta 0:00:21
     ------ ------------------------------- 52.7/317.2 MB 13.1 MB/s eta 0:00:21
     ------ ------------------------------- 53.3/317.2 MB 12.8 MB/s eta 0:00:21
     ------ ------------------------------- 53.5/317.2 MB 13.1 MB/s eta 0:00:21
     ------ ------------------------------- 54.4/317.2 MB 12.9 MB/s eta 0:00:21
     ------ ------------------------------- 55.2/317.2 MB 13.1 MB/s eta 0:00:21
     ------ ------------------------------- 55.7/317.2 MB 13.1 MB/s eta 0:00:20
     ------ ------------------------------- 56.3/317.2 MB 12.8 MB/s eta 0:00:21
     ------ ------------------------------- 56.7/317.2 MB 12.8 MB/s eta 0:00:21
     ------ ------------------------------- 57.3/317.2 MB 12.8 MB/s eta 0:00:21
     ------ ------------------------------- 58.0/317.2 MB 13.1 MB/s eta 0:00:20
     ------- ------------------------------ 58.7/317.2 MB 13.1 MB/s eta 0:00:20
     ------- ------------------------------ 59.2/317.2 MB 13.1 MB/s eta 0:00:20
     ------- ------------------------------ 59.8/317.2 MB 13.1 MB/s eta 0:00:20
     ------- ------------------------------ 60.4/317.2 MB 13.1 MB/s eta 0:00:20
     ------- ------------------------------ 60.9/317.2 MB 12.9 MB/s eta 0:00:20
     ------- ------------------------------ 61.5/317.2 MB 13.1 MB/s eta 0:00:20
     ------- ------------------------------ 62.0/317.2 MB 13.1 MB/s eta 0:00:20
     ------- ------------------------------ 62.5/317.2 MB 12.9 MB/s eta 0:00:20
     ------- ------------------------------ 63.1/317.2 MB 13.1 MB/s eta 0:00:20
     ------- ------------------------------ 63.7/317.2 MB 12.8 MB/s eta 0:00:20
     ------- ------------------------------ 64.3/317.2 MB 12.8 MB/s eta 0:00:20
     ------- ------------------------------ 65.0/317.2 MB 13.1 MB/s eta 0:00:20
     ------- ------------------------------ 65.6/317.2 MB 12.8 MB/s eta 0:00:20
     ------- ------------------------------ 66.1/317.2 MB 13.1 MB/s eta 0:00:20
     ------- ------------------------------ 66.7/317.2 MB 13.1 MB/s eta 0:00:20
     -------- ----------------------------- 67.3/317.2 MB 13.1 MB/s eta 0:00:20
     -------- ----------------------------- 67.8/317.2 MB 12.8 MB/s eta 0:00:20
     -------- ----------------------------- 68.5/317.2 MB 12.8 MB/s eta 0:00:20
     -------- ----------------------------- 69.1/317.2 MB 13.1 MB/s eta 0:00:19
     -------- ----------------------------- 69.7/317.2 MB 12.8 MB/s eta 0:00:20
     -------- ----------------------------- 70.1/317.2 MB 13.1 MB/s eta 0:00:19
     -------- ----------------------------- 70.7/317.2 MB 13.1 MB/s eta 0:00:19
     -------- ----------------------------- 71.4/317.2 MB 13.1 MB/s eta 0:00:19
     -------- ----------------------------- 71.9/317.2 MB 12.8 MB/s eta 0:00:20
     -------- ----------------------------- 72.4/317.2 MB 13.1 MB/s eta 0:00:19
     -------- ----------------------------- 72.9/317.2 MB 13.1 MB/s eta 0:00:19
     -------- ----------------------------- 73.6/317.2 MB 13.1 MB/s eta 0:00:19
     -------- ----------------------------- 74.2/317.2 MB 13.1 MB/s eta 0:00:19
     -------- ----------------------------- 74.8/317.2 MB 13.1 MB/s eta 0:00:19
     --------- ---------------------------- 75.4/317.2 MB 13.1 MB/s eta 0:00:19
     --------- ---------------------------- 75.9/317.2 MB 12.8 MB/s eta 0:00:19
     --------- ---------------------------- 76.4/317.2 MB 13.1 MB/s eta 0:00:19
     --------- ---------------------------- 76.9/317.2 MB 12.8 MB/s eta 0:00:19
     --------- ---------------------------- 77.5/317.2 MB 12.8 MB/s eta 0:00:19
     --------- ---------------------------- 78.1/317.2 MB 13.1 MB/s eta 0:00:19
     --------- ---------------------------- 78.8/317.2 MB 13.1 MB/s eta 0:00:19
     --------- ---------------------------- 79.3/317.2 MB 12.8 MB/s eta 0:00:19
     --------- ---------------------------- 79.9/317.2 MB 13.1 MB/s eta 0:00:19
     --------- ---------------------------- 80.4/317.2 MB 12.9 MB/s eta 0:00:19
     --------- ---------------------------- 80.9/317.2 MB 13.1 MB/s eta 0:00:19
     --------- ---------------------------- 81.6/317.2 MB 12.8 MB/s eta 0:00:19
     --------- ---------------------------- 82.2/317.2 MB 12.8 MB/s eta 0:00:19
     --------- ---------------------------- 82.7/317.2 MB 13.1 MB/s eta 0:00:18
     --------- ---------------------------- 83.4/317.2 MB 12.8 MB/s eta 0:00:19
     ---------- --------------------------- 84.0/317.2 MB 12.8 MB/s eta 0:00:19
     ---------- --------------------------- 84.5/317.2 MB 13.1 MB/s eta 0:00:18
     ---------- --------------------------- 85.1/317.2 MB 13.1 MB/s eta 0:00:18
     ---------- --------------------------- 85.6/317.2 MB 12.8 MB/s eta 0:00:19
     ---------- --------------------------- 86.1/317.2 MB 13.1 MB/s eta 0:00:18
     ---------- --------------------------- 86.6/317.2 MB 12.8 MB/s eta 0:00:18
     ---------- --------------------------- 87.2/317.2 MB 13.1 MB/s eta 0:00:18
     ---------- --------------------------- 87.9/317.2 MB 12.8 MB/s eta 0:00:18
     ---------- --------------------------- 88.6/317.2 MB 12.8 MB/s eta 0:00:18
     ---------- --------------------------- 89.2/317.2 MB 12.8 MB/s eta 0:00:18
     ---------- --------------------------- 89.9/317.2 MB 12.8 MB/s eta 0:00:18
     ---------- --------------------------- 90.5/317.2 MB 12.8 MB/s eta 0:00:18
     ---------- --------------------------- 91.2/317.2 MB 13.1 MB/s eta 0:00:18
     ---------- --------------------------- 91.8/317.2 MB 12.6 MB/s eta 0:00:18
     ----------- -------------------------- 92.5/317.2 MB 12.8 MB/s eta 0:00:18
     ----------- -------------------------- 93.0/317.2 MB 12.8 MB/s eta 0:00:18
     ----------- -------------------------- 93.5/317.2 MB 12.8 MB/s eta 0:00:18
     ----------- -------------------------- 94.2/317.2 MB 13.1 MB/s eta 0:00:18
     ----------- -------------------------- 94.7/317.2 MB 12.8 MB/s eta 0:00:18
     ----------- -------------------------- 95.3/317.2 MB 13.1 MB/s eta 0:00:17
     ----------- -------------------------- 95.9/317.2 MB 13.1 MB/s eta 0:00:17
     ----------- -------------------------- 96.5/317.2 MB 13.1 MB/s eta 0:00:17
     ----------- -------------------------- 97.2/317.2 MB 12.8 MB/s eta 0:00:18
     ----------- -------------------------- 97.8/317.2 MB 13.1 MB/s eta 0:00:17
     ----------- -------------------------- 98.6/317.2 MB 12.8 MB/s eta 0:00:18
     ----------- -------------------------- 99.2/317.2 MB 13.1 MB/s eta 0:00:17
     ----------- -------------------------- 99.8/317.2 MB 12.9 MB/s eta 0:00:17
     ----------- ------------------------- 100.5/317.2 MB 12.8 MB/s eta 0:00:17
     ----------- ------------------------- 100.9/317.2 MB 12.6 MB/s eta 0:00:18
     ----------- ------------------------- 101.0/317.2 MB 12.4 MB/s eta 0:00:18
     ----------- ------------------------- 101.0/317.2 MB 12.4 MB/s eta 0:00:18
     ----------- ------------------------- 102.0/317.2 MB 12.4 MB/s eta 0:00:18
     ----------- ------------------------- 102.1/317.2 MB 11.9 MB/s eta 0:00:19
     ----------- ------------------------- 102.3/317.2 MB 11.3 MB/s eta 0:00:20
     ----------- ------------------------- 102.8/317.2 MB 10.9 MB/s eta 0:00:20
     ------------ ------------------------ 103.3/317.2 MB 10.9 MB/s eta 0:00:20
     ------------ ------------------------ 103.8/317.2 MB 11.1 MB/s eta 0:00:20
     ------------ ------------------------ 104.4/317.2 MB 10.7 MB/s eta 0:00:20
     ------------ ------------------------ 105.0/317.2 MB 11.1 MB/s eta 0:00:20
     ------------ ------------------------ 105.6/317.2 MB 10.9 MB/s eta 0:00:20
     ------------ ------------------------ 106.2/317.2 MB 11.1 MB/s eta 0:00:19
     ------------ ------------------------ 106.9/317.2 MB 10.9 MB/s eta 0:00:20
     ------------ ------------------------ 107.5/317.2 MB 10.9 MB/s eta 0:00:20
     ------------ ------------------------ 108.1/317.2 MB 10.9 MB/s eta 0:00:20
     ------------ ------------------------ 108.6/317.2 MB 10.9 MB/s eta 0:00:20
     ------------ ------------------------ 109.2/317.2 MB 11.1 MB/s eta 0:00:19
     ------------ ------------------------ 109.6/317.2 MB 10.9 MB/s eta 0:00:20
     ------------ ------------------------ 110.2/317.2 MB 10.9 MB/s eta 0:00:19
     ------------ ------------------------ 110.7/317.2 MB 11.1 MB/s eta 0:00:19
     ------------ ------------------------ 111.3/317.2 MB 12.6 MB/s eta 0:00:17
     ------------- ----------------------- 111.8/317.2 MB 12.4 MB/s eta 0:00:17
     ------------- ----------------------- 112.4/317.2 MB 12.1 MB/s eta 0:00:17
     ------------- ----------------------- 113.0/317.2 MB 12.8 MB/s eta 0:00:16
     ------------- ----------------------- 113.5/317.2 MB 13.1 MB/s eta 0:00:16
     ------------- ----------------------- 114.0/317.2 MB 12.9 MB/s eta 0:00:16
     ------------- ----------------------- 114.7/317.2 MB 12.8 MB/s eta 0:00:16
     ------------- ----------------------- 115.3/317.2 MB 12.8 MB/s eta 0:00:16
     ------------- ----------------------- 115.9/317.2 MB 12.8 MB/s eta 0:00:16
     ------------- ----------------------- 116.5/317.2 MB 13.1 MB/s eta 0:00:16
     ------------- ----------------------- 117.0/317.2 MB 13.1 MB/s eta 0:00:16
     ------------- ----------------------- 117.6/317.2 MB 13.1 MB/s eta 0:00:16
     ------------- ----------------------- 118.1/317.2 MB 13.1 MB/s eta 0:00:16
     ------------- ----------------------- 118.7/317.2 MB 13.1 MB/s eta 0:00:16
     ------------- ----------------------- 119.3/317.2 MB 13.1 MB/s eta 0:00:16
     ------------- ----------------------- 119.8/317.2 MB 13.1 MB/s eta 0:00:16
     -------------- ---------------------- 120.3/317.2 MB 13.1 MB/s eta 0:00:16
     -------------- ---------------------- 120.9/317.2 MB 13.1 MB/s eta 0:00:15
     -------------- ---------------------- 121.4/317.2 MB 12.8 MB/s eta 0:00:16
     -------------- ---------------------- 122.0/317.2 MB 13.1 MB/s eta 0:00:15
     -------------- ---------------------- 122.6/317.2 MB 13.1 MB/s eta 0:00:15
     -------------- ---------------------- 123.2/317.2 MB 13.1 MB/s eta 0:00:15
     -------------- ---------------------- 124.0/317.2 MB 12.6 MB/s eta 0:00:16
     -------------- ---------------------- 124.9/317.2 MB 12.8 MB/s eta 0:00:15
     -------------- ---------------------- 125.4/317.2 MB 13.1 MB/s eta 0:00:15
     -------------- ---------------------- 125.9/317.2 MB 13.1 MB/s eta 0:00:15
     -------------- ---------------------- 126.5/317.2 MB 12.8 MB/s eta 0:00:15
     -------------- ---------------------- 127.1/317.2 MB 12.9 MB/s eta 0:00:15
     -------------- ---------------------- 127.6/317.2 MB 12.8 MB/s eta 0:00:15
     -------------- ---------------------- 128.3/317.2 MB 12.8 MB/s eta 0:00:15
     --------------- --------------------- 128.8/317.2 MB 13.1 MB/s eta 0:00:15
     --------------- --------------------- 129.3/317.2 MB 13.1 MB/s eta 0:00:15
     --------------- --------------------- 129.8/317.2 MB 12.8 MB/s eta 0:00:15
     --------------- --------------------- 130.5/317.2 MB 13.1 MB/s eta 0:00:15
     --------------- --------------------- 131.0/317.2 MB 13.1 MB/s eta 0:00:15
     --------------- --------------------- 131.5/317.2 MB 13.1 MB/s eta 0:00:15
     --------------- --------------------- 132.1/317.2 MB 12.8 MB/s eta 0:00:15
     --------------- --------------------- 132.7/317.2 MB 12.8 MB/s eta 0:00:15
     --------------- --------------------- 133.2/317.2 MB 12.8 MB/s eta 0:00:15
     --------------- --------------------- 133.7/317.2 MB 13.9 MB/s eta 0:00:14
     --------------- --------------------- 134.2/317.2 MB 13.6 MB/s eta 0:00:14
     --------------- --------------------- 134.8/317.2 MB 12.8 MB/s eta 0:00:15
     --------------- --------------------- 135.3/317.2 MB 12.8 MB/s eta 0:00:15
     --------------- --------------------- 135.8/317.2 MB 12.8 MB/s eta 0:00:15
     --------------- --------------------- 136.4/317.2 MB 12.8 MB/s eta 0:00:15
     --------------- --------------------- 136.9/317.2 MB 12.6 MB/s eta 0:00:15
     ---------------- -------------------- 137.4/317.2 MB 13.1 MB/s eta 0:00:14
     ---------------- -------------------- 138.0/317.2 MB 12.8 MB/s eta 0:00:14
     ---------------- -------------------- 138.6/317.2 MB 12.8 MB/s eta 0:00:14
     ---------------- -------------------- 139.2/317.2 MB 12.6 MB/s eta 0:00:15
     ---------------- -------------------- 139.8/317.2 MB 12.8 MB/s eta 0:00:14
     ---------------- -------------------- 140.3/317.2 MB 12.8 MB/s eta 0:00:14
     ---------------- -------------------- 140.9/317.2 MB 12.8 MB/s eta 0:00:14
     ---------------- -------------------- 141.5/317.2 MB 13.1 MB/s eta 0:00:14
     ---------------- -------------------- 142.0/317.2 MB 12.8 MB/s eta 0:00:14
     ---------------- -------------------- 142.5/317.2 MB 12.8 MB/s eta 0:00:14
     ---------------- -------------------- 143.0/317.2 MB 12.6 MB/s eta 0:00:14
     ---------------- -------------------- 143.6/317.2 MB 12.8 MB/s eta 0:00:14
     ---------------- -------------------- 144.2/317.2 MB 13.1 MB/s eta 0:00:14
     ---------------- -------------------- 144.8/317.2 MB 12.9 MB/s eta 0:00:14
     ---------------- -------------------- 145.3/317.2 MB 12.8 MB/s eta 0:00:14
     ----------------- ------------------- 145.9/317.2 MB 13.1 MB/s eta 0:00:14
     ----------------- ------------------- 146.4/317.2 MB 12.9 MB/s eta 0:00:14
     ----------------- ------------------- 146.9/317.2 MB 13.1 MB/s eta 0:00:14
     ----------------- ------------------- 147.5/317.2 MB 12.8 MB/s eta 0:00:14
     ----------------- ------------------- 148.1/317.2 MB 12.6 MB/s eta 0:00:14
     ----------------- ------------------- 148.6/317.2 MB 12.8 MB/s eta 0:00:14
     ----------------- ------------------- 149.2/317.2 MB 13.1 MB/s eta 0:00:13
     ----------------- ------------------- 149.8/317.2 MB 12.8 MB/s eta 0:00:14
     ----------------- ------------------- 150.4/317.2 MB 12.8 MB/s eta 0:00:13
     ----------------- ------------------- 150.8/317.2 MB 12.8 MB/s eta 0:00:13
     ----------------- ------------------- 151.5/317.2 MB 12.8 MB/s eta 0:00:13
     ----------------- ------------------- 152.1/317.2 MB 12.8 MB/s eta 0:00:13
     ----------------- ------------------- 152.8/317.2 MB 13.1 MB/s eta 0:00:13
     ----------------- ------------------- 153.3/317.2 MB 13.1 MB/s eta 0:00:13
     ----------------- ------------------- 153.8/317.2 MB 12.8 MB/s eta 0:00:13
     ------------------ ------------------ 154.3/317.2 MB 13.1 MB/s eta 0:00:13
     ------------------ ------------------ 154.9/317.2 MB 12.8 MB/s eta 0:00:13
     ------------------ ------------------ 155.4/317.2 MB 13.1 MB/s eta 0:00:13
     ------------------ ------------------ 156.0/317.2 MB 12.9 MB/s eta 0:00:13
     ------------------ ------------------ 156.6/317.2 MB 12.8 MB/s eta 0:00:13
     ------------------ ------------------ 157.2/317.2 MB 12.8 MB/s eta 0:00:13
     ------------------ ------------------ 157.8/317.2 MB 12.8 MB/s eta 0:00:13
     ------------------ ------------------ 158.3/317.2 MB 13.1 MB/s eta 0:00:13
     ------------------ ------------------ 158.9/317.2 MB 13.1 MB/s eta 0:00:13
     ------------------ ------------------ 159.5/317.2 MB 12.8 MB/s eta 0:00:13
     ------------------ ------------------ 160.0/317.2 MB 13.1 MB/s eta 0:00:13
     ------------------ ------------------ 160.6/317.2 MB 12.8 MB/s eta 0:00:13
     ------------------ ------------------ 161.1/317.2 MB 13.1 MB/s eta 0:00:12
     ------------------ ------------------ 161.7/317.2 MB 13.1 MB/s eta 0:00:12
     ------------------ ------------------ 162.2/317.2 MB 13.1 MB/s eta 0:00:12
     ------------------ ------------------ 162.8/317.2 MB 12.6 MB/s eta 0:00:13
     ------------------- ----------------- 163.3/317.2 MB 12.8 MB/s eta 0:00:12
     ------------------- ----------------- 163.9/317.2 MB 12.8 MB/s eta 0:00:12
     ------------------- ----------------- 164.4/317.2 MB 12.8 MB/s eta 0:00:12
     ------------------- ----------------- 164.9/317.2 MB 12.8 MB/s eta 0:00:12
     ------------------- ----------------- 165.4/317.2 MB 12.6 MB/s eta 0:00:13
     ------------------- ----------------- 165.9/317.2 MB 12.6 MB/s eta 0:00:13
     ------------------- ----------------- 166.6/317.2 MB 12.8 MB/s eta 0:00:12
     ------------------- ----------------- 167.2/317.2 MB 12.9 MB/s eta 0:00:12
     ------------------- ----------------- 167.9/317.2 MB 12.8 MB/s eta 0:00:12
     ------------------- ----------------- 168.5/317.2 MB 12.8 MB/s eta 0:00:12
     ------------------- ----------------- 169.0/317.2 MB 12.8 MB/s eta 0:00:12
     ------------------- ----------------- 169.5/317.2 MB 12.8 MB/s eta 0:00:12
     ------------------- ----------------- 170.0/317.2 MB 12.8 MB/s eta 0:00:12
     ------------------- ----------------- 170.4/317.2 MB 12.9 MB/s eta 0:00:12
     ------------------- ----------------- 171.0/317.2 MB 12.8 MB/s eta 0:00:12
     -------------------- ---------------- 171.5/317.2 MB 12.8 MB/s eta 0:00:12
     -------------------- ---------------- 172.2/317.2 MB 12.9 MB/s eta 0:00:12
     -------------------- ---------------- 172.7/317.2 MB 12.6 MB/s eta 0:00:12
     -------------------- ---------------- 173.3/317.2 MB 12.6 MB/s eta 0:00:12
     -------------------- ---------------- 173.9/317.2 MB 12.6 MB/s eta 0:00:12
     -------------------- ---------------- 174.5/317.2 MB 12.8 MB/s eta 0:00:12
     -------------------- ---------------- 175.1/317.2 MB 12.9 MB/s eta 0:00:12
     -------------------- ---------------- 175.9/317.2 MB 12.8 MB/s eta 0:00:12
     -------------------- ---------------- 176.6/317.2 MB 12.6 MB/s eta 0:00:12
     -------------------- ---------------- 177.4/317.2 MB 12.8 MB/s eta 0:00:11
     -------------------- ---------------- 178.0/317.2 MB 12.8 MB/s eta 0:00:11
     -------------------- ---------------- 178.5/317.2 MB 12.9 MB/s eta 0:00:11
     -------------------- ---------------- 179.0/317.2 MB 12.8 MB/s eta 0:00:11
     -------------------- ---------------- 179.6/317.2 MB 12.8 MB/s eta 0:00:11
     --------------------- --------------- 180.1/317.2 MB 12.9 MB/s eta 0:00:11
     --------------------- --------------- 180.7/317.2 MB 13.1 MB/s eta 0:00:11
     --------------------- --------------- 181.2/317.2 MB 12.8 MB/s eta 0:00:11
     --------------------- --------------- 181.8/317.2 MB 13.1 MB/s eta 0:00:11
     --------------------- --------------- 182.3/317.2 MB 12.8 MB/s eta 0:00:11
     --------------------- --------------- 182.9/317.2 MB 12.8 MB/s eta 0:00:11
     --------------------- --------------- 183.6/317.2 MB 13.1 MB/s eta 0:00:11
     --------------------- --------------- 184.1/317.2 MB 13.1 MB/s eta 0:00:11
     --------------------- --------------- 184.6/317.2 MB 12.8 MB/s eta 0:00:11
     --------------------- --------------- 185.1/317.2 MB 13.1 MB/s eta 0:00:11
     --------------------- --------------- 185.7/317.2 MB 13.1 MB/s eta 0:00:11
     --------------------- --------------- 186.4/317.2 MB 12.8 MB/s eta 0:00:11
     --------------------- --------------- 186.9/317.2 MB 13.1 MB/s eta 0:00:10
     --------------------- --------------- 187.5/317.2 MB 12.8 MB/s eta 0:00:11
     --------------------- --------------- 188.1/317.2 MB 12.9 MB/s eta 0:00:11
     --------------------- --------------- 188.6/317.2 MB 12.8 MB/s eta 0:00:11
     ---------------------- -------------- 189.1/317.2 MB 12.8 MB/s eta 0:00:10
     ---------------------- -------------- 189.7/317.2 MB 12.9 MB/s eta 0:00:10
     ---------------------- -------------- 190.2/317.2 MB 13.1 MB/s eta 0:00:10
     ---------------------- -------------- 190.8/317.2 MB 13.1 MB/s eta 0:00:10
     ---------------------- -------------- 191.4/317.2 MB 12.9 MB/s eta 0:00:10
     ---------------------- -------------- 191.9/317.2 MB 13.1 MB/s eta 0:00:10
     ---------------------- -------------- 192.4/317.2 MB 12.8 MB/s eta 0:00:10
     ---------------------- -------------- 193.0/317.2 MB 13.1 MB/s eta 0:00:10
     ---------------------- -------------- 193.5/317.2 MB 12.8 MB/s eta 0:00:10
     ---------------------- -------------- 194.1/317.2 MB 13.1 MB/s eta 0:00:10
     ---------------------- -------------- 194.6/317.2 MB 12.9 MB/s eta 0:00:10
     ---------------------- -------------- 195.1/317.2 MB 13.1 MB/s eta 0:00:10
     ---------------------- -------------- 195.7/317.2 MB 13.1 MB/s eta 0:00:10
     ---------------------- -------------- 196.2/317.2 MB 12.9 MB/s eta 0:00:10
     ---------------------- -------------- 196.7/317.2 MB 13.1 MB/s eta 0:00:10
     ----------------------- ------------- 197.4/317.2 MB 13.1 MB/s eta 0:00:10
     ----------------------- ------------- 198.0/317.2 MB 12.8 MB/s eta 0:00:10
     ----------------------- ------------- 198.5/317.2 MB 13.1 MB/s eta 0:00:10
     ----------------------- ------------- 199.1/317.2 MB 12.8 MB/s eta 0:00:10
     ----------------------- ------------- 199.6/317.2 MB 12.8 MB/s eta 0:00:10
     ----------------------- ------------- 200.1/317.2 MB 13.1 MB/s eta 0:00:09
     ----------------------- ------------- 200.6/317.2 MB 12.8 MB/s eta 0:00:10
     ----------------------- ------------- 201.0/317.2 MB 12.9 MB/s eta 0:00:10
     ----------------------- ------------- 201.2/317.2 MB 12.4 MB/s eta 0:00:10
     ----------------------- ------------- 201.5/317.2 MB 12.3 MB/s eta 0:00:10
     ----------------------- ------------- 201.5/317.2 MB 12.1 MB/s eta 0:00:10
     ----------------------- ------------- 201.5/317.2 MB 12.1 MB/s eta 0:00:10
     ----------------------- ------------- 202.4/317.2 MB 11.3 MB/s eta 0:00:11
     ----------------------- ------------- 202.9/317.2 MB 11.1 MB/s eta 0:00:11
     ----------------------- ------------- 203.3/317.2 MB 11.1 MB/s eta 0:00:11
     ----------------------- ------------- 204.0/317.2 MB 11.1 MB/s eta 0:00:11
     ----------------------- ------------- 204.5/317.2 MB 10.9 MB/s eta 0:00:11
     ----------------------- ------------- 205.0/317.2 MB 10.9 MB/s eta 0:00:11
     ----------------------- ------------- 205.7/317.2 MB 10.9 MB/s eta 0:00:11
     ------------------------ ------------ 206.2/317.2 MB 11.1 MB/s eta 0:00:11
     ------------------------ ------------ 206.8/317.2 MB 10.9 MB/s eta 0:00:11
     ------------------------ ------------ 207.3/317.2 MB 11.1 MB/s eta 0:00:10
     ------------------------ ------------ 207.9/317.2 MB 10.9 MB/s eta 0:00:11
     ------------------------ ------------ 208.5/317.2 MB 11.1 MB/s eta 0:00:10
     ------------------------ ------------ 209.0/317.2 MB 10.9 MB/s eta 0:00:10
     ------------------------ ------------ 209.6/317.2 MB 10.9 MB/s eta 0:00:10
     ------------------------ ------------ 210.1/317.2 MB 11.1 MB/s eta 0:00:10
     ------------------------ ------------ 210.6/317.2 MB 11.1 MB/s eta 0:00:10
     ------------------------ ------------ 211.2/317.2 MB 11.1 MB/s eta 0:00:10
     ------------------------ ------------ 211.8/317.2 MB 11.5 MB/s eta 0:00:10
     ------------------------ ------------ 212.4/317.2 MB 12.4 MB/s eta 0:00:09
     ------------------------ ------------ 213.0/317.2 MB 12.6 MB/s eta 0:00:09
     ------------------------ ------------ 213.6/317.2 MB 13.1 MB/s eta 0:00:08
     ------------------------ ------------ 214.1/317.2 MB 13.1 MB/s eta 0:00:08
     ------------------------- ----------- 214.8/317.2 MB 13.1 MB/s eta 0:00:08
     ------------------------- ----------- 215.3/317.2 MB 13.1 MB/s eta 0:00:08
     ------------------------- ----------- 215.8/317.2 MB 12.8 MB/s eta 0:00:08
     ------------------------- ----------- 216.4/317.2 MB 13.1 MB/s eta 0:00:08
     ------------------------- ----------- 216.9/317.2 MB 12.9 MB/s eta 0:00:08
     ------------------------- ----------- 217.5/317.2 MB 13.1 MB/s eta 0:00:08
     ------------------------- ----------- 218.1/317.2 MB 12.8 MB/s eta 0:00:08
     ------------------------- ----------- 218.6/317.2 MB 12.9 MB/s eta 0:00:08
     ------------------------- ----------- 219.1/317.2 MB 13.1 MB/s eta 0:00:08
     ------------------------- ----------- 219.7/317.2 MB 12.8 MB/s eta 0:00:08
     ------------------------- ----------- 220.2/317.2 MB 13.1 MB/s eta 0:00:08
     ------------------------- ----------- 220.8/317.2 MB 13.1 MB/s eta 0:00:08
     ------------------------- ----------- 221.3/317.2 MB 12.8 MB/s eta 0:00:08
     ------------------------- ----------- 221.9/317.2 MB 12.9 MB/s eta 0:00:08
     ------------------------- ----------- 222.5/317.2 MB 12.8 MB/s eta 0:00:08
     -------------------------- ---------- 223.1/317.2 MB 13.1 MB/s eta 0:00:08
     -------------------------- ---------- 223.6/317.2 MB 13.1 MB/s eta 0:00:08
     -------------------------- ---------- 224.1/317.2 MB 13.1 MB/s eta 0:00:08
     -------------------------- ---------- 224.7/317.2 MB 12.8 MB/s eta 0:00:08
     -------------------------- ---------- 225.2/317.2 MB 13.1 MB/s eta 0:00:08
     -------------------------- ---------- 225.8/317.2 MB 12.8 MB/s eta 0:00:08
     -------------------------- ---------- 226.4/317.2 MB 12.8 MB/s eta 0:00:08
     -------------------------- ---------- 227.0/317.2 MB 12.8 MB/s eta 0:00:08
     -------------------------- ---------- 227.5/317.2 MB 13.1 MB/s eta 0:00:07
     -------------------------- ---------- 228.2/317.2 MB 12.8 MB/s eta 0:00:07
     -------------------------- ---------- 228.8/317.2 MB 12.8 MB/s eta 0:00:07
     -------------------------- ---------- 229.3/317.2 MB 13.1 MB/s eta 0:00:07
     -------------------------- ---------- 229.8/317.2 MB 12.8 MB/s eta 0:00:07
     -------------------------- ---------- 230.4/317.2 MB 12.8 MB/s eta 0:00:07
     -------------------------- ---------- 231.0/317.2 MB 13.1 MB/s eta 0:00:07
     --------------------------- --------- 231.6/317.2 MB 13.1 MB/s eta 0:00:07
     --------------------------- --------- 232.1/317.2 MB 12.8 MB/s eta 0:00:07
     --------------------------- --------- 232.7/317.2 MB 13.1 MB/s eta 0:00:07
     --------------------------- --------- 233.4/317.2 MB 13.1 MB/s eta 0:00:07
     --------------------------- --------- 233.9/317.2 MB 12.8 MB/s eta 0:00:07
     --------------------------- --------- 234.5/317.2 MB 13.1 MB/s eta 0:00:07
     --------------------------- --------- 235.0/317.2 MB 13.1 MB/s eta 0:00:07
     --------------------------- --------- 235.7/317.2 MB 12.8 MB/s eta 0:00:07
     --------------------------- --------- 236.3/317.2 MB 12.8 MB/s eta 0:00:07
     --------------------------- --------- 236.9/317.2 MB 13.1 MB/s eta 0:00:07
     --------------------------- --------- 237.4/317.2 MB 13.1 MB/s eta 0:00:07
     --------------------------- --------- 238.0/317.2 MB 13.1 MB/s eta 0:00:07
     --------------------------- --------- 238.6/317.2 MB 13.1 MB/s eta 0:00:07
     --------------------------- --------- 239.0/317.2 MB 13.1 MB/s eta 0:00:06
     --------------------------- --------- 239.7/317.2 MB 12.9 MB/s eta 0:00:07
     ---------------------------- -------- 240.3/317.2 MB 12.8 MB/s eta 0:00:06
     ---------------------------- -------- 240.8/317.2 MB 13.1 MB/s eta 0:00:06
     ---------------------------- -------- 241.3/317.2 MB 12.9 MB/s eta 0:00:06
     ---------------------------- -------- 242.0/317.2 MB 12.8 MB/s eta 0:00:06
     ---------------------------- -------- 242.6/317.2 MB 12.8 MB/s eta 0:00:06
     ---------------------------- -------- 243.1/317.2 MB 13.1 MB/s eta 0:00:06
     ---------------------------- -------- 243.7/317.2 MB 13.1 MB/s eta 0:00:06
     ---------------------------- -------- 244.2/317.2 MB 12.8 MB/s eta 0:00:06
     ---------------------------- -------- 244.8/317.2 MB 12.8 MB/s eta 0:00:06
     ---------------------------- -------- 245.2/317.2 MB 12.8 MB/s eta 0:00:06
     ---------------------------- -------- 245.8/317.2 MB 12.8 MB/s eta 0:00:06
     ---------------------------- -------- 246.2/317.2 MB 12.9 MB/s eta 0:00:06
     ---------------------------- -------- 246.9/317.2 MB 13.1 MB/s eta 0:00:06
     ---------------------------- -------- 247.5/317.2 MB 13.1 MB/s eta 0:00:06
     ---------------------------- -------- 248.1/317.2 MB 12.8 MB/s eta 0:00:06
     ---------------------------- -------- 248.6/317.2 MB 12.8 MB/s eta 0:00:06
     ----------------------------- ------- 249.1/317.2 MB 13.1 MB/s eta 0:00:06
     ----------------------------- ------- 249.6/317.2 MB 12.8 MB/s eta 0:00:06
     ----------------------------- ------- 250.3/317.2 MB 12.8 MB/s eta 0:00:06
     ----------------------------- ------- 251.0/317.2 MB 12.9 MB/s eta 0:00:06
     ----------------------------- ------- 251.5/317.2 MB 13.1 MB/s eta 0:00:06
     ----------------------------- ------- 252.2/317.2 MB 12.8 MB/s eta 0:00:06
     ----------------------------- ------- 252.7/317.2 MB 13.1 MB/s eta 0:00:05
     ----------------------------- ------- 253.4/317.2 MB 13.1 MB/s eta 0:00:05
     ----------------------------- ------- 253.9/317.2 MB 12.8 MB/s eta 0:00:05
     ----------------------------- ------- 254.4/317.2 MB 13.1 MB/s eta 0:00:05
     ----------------------------- ------- 255.0/317.2 MB 12.8 MB/s eta 0:00:05
     ----------------------------- ------- 255.7/317.2 MB 12.8 MB/s eta 0:00:05
     ----------------------------- ------- 256.3/317.2 MB 12.8 MB/s eta 0:00:05
     ----------------------------- ------- 257.0/317.2 MB 13.1 MB/s eta 0:00:05
     ------------------------------ ------ 257.6/317.2 MB 12.9 MB/s eta 0:00:05
     ------------------------------ ------ 258.1/317.2 MB 12.8 MB/s eta 0:00:05
     ------------------------------ ------ 258.7/317.2 MB 12.8 MB/s eta 0:00:05
     ------------------------------ ------ 259.2/317.2 MB 13.1 MB/s eta 0:00:05
     ------------------------------ ------ 259.8/317.2 MB 13.1 MB/s eta 0:00:05
     ------------------------------ ------ 260.4/317.2 MB 13.1 MB/s eta 0:00:05
     ------------------------------ ------ 261.0/317.2 MB 12.8 MB/s eta 0:00:05
     ------------------------------ ------ 261.5/317.2 MB 13.1 MB/s eta 0:00:05
     ------------------------------ ------ 262.0/317.2 MB 13.1 MB/s eta 0:00:05
     ------------------------------ ------ 262.5/317.2 MB 12.8 MB/s eta 0:00:05
     ------------------------------ ------ 263.1/317.2 MB 13.1 MB/s eta 0:00:05
     ------------------------------ ------ 263.7/317.2 MB 13.1 MB/s eta 0:00:05
     ------------------------------ ------ 264.2/317.2 MB 13.1 MB/s eta 0:00:05
     ------------------------------ ------ 264.7/317.2 MB 13.1 MB/s eta 0:00:05
     ------------------------------ ------ 265.2/317.2 MB 13.1 MB/s eta 0:00:04
     ------------------------------- ----- 265.8/317.2 MB 13.1 MB/s eta 0:00:04
     ------------------------------- ----- 266.0/317.2 MB 12.6 MB/s eta 0:00:05
     ------------------------------- ----- 266.3/317.2 MB 12.1 MB/s eta 0:00:05
     ------------------------------- ----- 266.7/317.2 MB 12.1 MB/s eta 0:00:05
     ------------------------------- ----- 267.0/317.2 MB 11.7 MB/s eta 0:00:05
     ------------------------------- ----- 267.4/317.2 MB 11.5 MB/s eta 0:00:05
     ------------------------------- ----- 267.8/317.2 MB 11.5 MB/s eta 0:00:05
     ------------------------------- ----- 268.4/317.2 MB 11.3 MB/s eta 0:00:05
     ------------------------------- ----- 268.9/317.2 MB 11.3 MB/s eta 0:00:05
     ------------------------------- ----- 269.3/317.2 MB 11.1 MB/s eta 0:00:05
     ------------------------------- ----- 269.5/317.2 MB 10.9 MB/s eta 0:00:05
     ------------------------------- ----- 270.0/317.2 MB 10.6 MB/s eta 0:00:05
     ------------------------------- ----- 270.6/317.2 MB 10.7 MB/s eta 0:00:05
     ------------------------------- ----- 271.2/317.2 MB 10.6 MB/s eta 0:00:05
     ------------------------------- ----- 271.7/317.2 MB 10.4 MB/s eta 0:00:05
     ------------------------------- ----- 272.2/317.2 MB 10.6 MB/s eta 0:00:05
     ------------------------------- ----- 272.8/317.2 MB 10.6 MB/s eta 0:00:05
     ------------------------------- ----- 273.3/317.2 MB 10.6 MB/s eta 0:00:05
     ------------------------------- ----- 273.9/317.2 MB 10.7 MB/s eta 0:00:05
     -------------------------------- ---- 274.5/317.2 MB 10.6 MB/s eta 0:00:05
     -------------------------------- ---- 275.0/317.2 MB 10.6 MB/s eta 0:00:04
     -------------------------------- ---- 275.5/317.2 MB 10.6 MB/s eta 0:00:04
     -------------------------------- ---- 276.1/317.2 MB 10.7 MB/s eta 0:00:04
     -------------------------------- ---- 276.6/317.2 MB 11.1 MB/s eta 0:00:04
     -------------------------------- ---- 277.1/317.2 MB 11.5 MB/s eta 0:00:04
     -------------------------------- ---- 277.7/317.2 MB 11.7 MB/s eta 0:00:04
     -------------------------------- ---- 278.3/317.2 MB 11.9 MB/s eta 0:00:04
     -------------------------------- ---- 278.8/317.2 MB 11.9 MB/s eta 0:00:04
     -------------------------------- ---- 279.5/317.2 MB 12.1 MB/s eta 0:00:04
     -------------------------------- ---- 280.0/317.2 MB 12.8 MB/s eta 0:00:03
     -------------------------------- ---- 280.5/317.2 MB 12.8 MB/s eta 0:00:03
     -------------------------------- ---- 281.2/317.2 MB 13.1 MB/s eta 0:00:03
     -------------------------------- ---- 281.6/317.2 MB 12.8 MB/s eta 0:00:03
     -------------------------------- ---- 282.1/317.2 MB 12.8 MB/s eta 0:00:03
     -------------------------------- ---- 282.6/317.2 MB 13.1 MB/s eta 0:00:03
     --------------------------------- --- 283.5/317.2 MB 12.8 MB/s eta 0:00:03
     --------------------------------- --- 284.2/317.2 MB 13.1 MB/s eta 0:00:03
     --------------------------------- --- 284.8/317.2 MB 13.1 MB/s eta 0:00:03
     --------------------------------- --- 285.2/317.2 MB 12.8 MB/s eta 0:00:03
     --------------------------------- --- 285.9/317.2 MB 12.9 MB/s eta 0:00:03
     --------------------------------- --- 286.4/317.2 MB 13.1 MB/s eta 0:00:03
     --------------------------------- --- 287.1/317.2 MB 13.1 MB/s eta 0:00:03
     --------------------------------- --- 287.6/317.2 MB 13.1 MB/s eta 0:00:03
     --------------------------------- --- 288.1/317.2 MB 12.8 MB/s eta 0:00:03
     --------------------------------- --- 288.8/317.2 MB 12.8 MB/s eta 0:00:03
     --------------------------------- --- 289.4/317.2 MB 13.1 MB/s eta 0:00:03
     --------------------------------- --- 289.9/317.2 MB 12.8 MB/s eta 0:00:03
     --------------------------------- --- 290.5/317.2 MB 13.1 MB/s eta 0:00:03
     --------------------------------- --- 291.1/317.2 MB 13.1 MB/s eta 0:00:02
     ---------------------------------- -- 291.6/317.2 MB 12.8 MB/s eta 0:00:02
     ---------------------------------- -- 292.1/317.2 MB 12.8 MB/s eta 0:00:02
     ---------------------------------- -- 292.7/317.2 MB 13.1 MB/s eta 0:00:02
     ---------------------------------- -- 293.3/317.2 MB 13.1 MB/s eta 0:00:02
     ---------------------------------- -- 293.8/317.2 MB 12.8 MB/s eta 0:00:02
     ---------------------------------- -- 294.4/317.2 MB 13.1 MB/s eta 0:00:02
     ---------------------------------- -- 295.0/317.2 MB 12.8 MB/s eta 0:00:02
     ---------------------------------- -- 295.7/317.2 MB 13.1 MB/s eta 0:00:02
     ---------------------------------- -- 296.4/317.2 MB 12.8 MB/s eta 0:00:02
     ---------------------------------- -- 296.9/317.2 MB 13.1 MB/s eta 0:00:02
     ---------------------------------- -- 297.6/317.2 MB 13.1 MB/s eta 0:00:02
     ---------------------------------- -- 298.1/317.2 MB 13.1 MB/s eta 0:00:02
     ---------------------------------- -- 298.7/317.2 MB 12.8 MB/s eta 0:00:02
     ---------------------------------- -- 299.3/317.2 MB 12.8 MB/s eta 0:00:02
     ---------------------------------- -- 299.8/317.2 MB 13.1 MB/s eta 0:00:02
     ----------------------------------- - 300.3/317.2 MB 12.8 MB/s eta 0:00:02
     ----------------------------------- - 300.9/317.2 MB 12.8 MB/s eta 0:00:02
     ----------------------------------- - 301.5/317.2 MB 13.1 MB/s eta 0:00:02
     ----------------------------------- - 302.0/317.2 MB 13.1 MB/s eta 0:00:02
     ----------------------------------- - 302.5/317.2 MB 13.1 MB/s eta 0:00:02
     ----------------------------------- - 303.1/317.2 MB 12.8 MB/s eta 0:00:02
     ----------------------------------- - 303.7/317.2 MB 12.9 MB/s eta 0:00:02
     ----------------------------------- - 304.2/317.2 MB 13.1 MB/s eta 0:00:01
     ----------------------------------- - 304.8/317.2 MB 13.1 MB/s eta 0:00:01
     ----------------------------------- - 305.3/317.2 MB 12.9 MB/s eta 0:00:01
     ----------------------------------- - 305.8/317.2 MB 13.1 MB/s eta 0:00:01
     ----------------------------------- - 306.4/317.2 MB 12.8 MB/s eta 0:00:01
     ----------------------------------- - 306.9/317.2 MB 13.1 MB/s eta 0:00:01
     ----------------------------------- - 307.4/317.2 MB 12.8 MB/s eta 0:00:01
     ----------------------------------- - 308.1/317.2 MB 13.1 MB/s eta 0:00:01
     ------------------------------------  308.7/317.2 MB 13.1 MB/s eta 0:00:01
     ------------------------------------  309.3/317.2 MB 12.8 MB/s eta 0:00:01
     ------------------------------------  309.9/317.2 MB 13.1 MB/s eta 0:00:01
     ------------------------------------  310.4/317.2 MB 12.8 MB/s eta 0:00:01
     ------------------------------------  310.9/317.2 MB 13.1 MB/s eta 0:00:01
     ------------------------------------  311.4/317.2 MB 12.8 MB/s eta 0:00:01
     ------------------------------------  312.0/317.2 MB 12.8 MB/s eta 0:00:01
     ------------------------------------  312.5/317.2 MB 13.1 MB/s eta 0:00:01
     ------------------------------------  313.1/317.2 MB 13.1 MB/s eta 0:00:01
     ------------------------------------  313.7/317.2 MB 12.8 MB/s eta 0:00:01
     ------------------------------------  314.2/317.2 MB 13.1 MB/s eta 0:00:01
     ------------------------------------  314.8/317.2 MB 12.8 MB/s eta 0:00:01
     ------------------------------------  315.2/317.2 MB 12.8 MB/s eta 0:00:01
     ------------------------------------  315.6/317.2 MB 12.3 MB/s eta 0:00:01
     ------------------------------------  316.0/317.2 MB 12.1 MB/s eta 0:00:01
     ------------------------------------  316.4/317.2 MB 11.7 MB/s eta 0:00:01
     ------------------------------------  316.7/317.2 MB 11.9 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     ------------------------------------  317.2/317.2 MB 11.5 MB/s eta 0:00:01
     -------------------------------------- 317.2/317.2 MB 5.0 MB/s eta 0:00:00
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Requirement already satisfied: comm>=0.1.3 in d:\anaconda\lib\site-packages (from ipywidgets>=7.0.0->powerbiclient) (0.2.1)
Requirement already satisfied: ipython-genutils~=0.2.0 in d:\anaconda\lib\site-packages (from ipywidgets>=7.0.0->powerbiclient) (0.2.0)
Requirement already satisfied: traitlets>=4.3.1 in d:\anaconda\lib\site-packages (from ipywidgets>=7.0.0->powerbiclient) (5.14.3)
Requirement already satisfied: widgetsnbextension~=3.6.6 in d:\anaconda\lib\site-packages (from ipywidgets>=7.0.0->powerbiclient) (3.6.6)
Requirement already satisfied: ipython>=4.0.0 in d:\anaconda\lib\site-packages (from ipywidgets>=7.0.0->powerbiclient) (8.25.0)
Requirement already satisfied: jupyterlab-widgets<3,>=1.0.0 in d:\anaconda\lib\site-packages (from ipywidgets>=7.0.0->powerbiclient) (1.0.0)
Requirement already satisfied: PyJWT<3,>=1.0.0 in d:\anaconda\lib\site-packages (from PyJWT[crypto]<3,>=1.0.0->msal>=1.8.0->powerbiclient) (2.8.0)
Requirement already satisfied: cryptography<47,>=2.5 in d:\anaconda\lib\site-packages (from msal>=1.8.0->powerbiclient) (42.0.5)
Requirement already satisfied: charset-normalizer<4,>=2 in d:\anaconda\lib\site-packages (from requests>=2.25.1->powerbiclient) (2.0.4)
Requirement already satisfied: idna<4,>=2.5 in d:\anaconda\lib\site-packages (from requests>=2.25.1->powerbiclient) (3.7)
Requirement already satisfied: urllib3<3,>=1.21.1 in d:\anaconda\lib\site-packages (from requests>=2.25.1->powerbiclient) (2.2.2)
Requirement already satisfied: certifi>=2017.4.17 in d:\anaconda\lib\site-packages (from requests>=2.25.1->powerbiclient) (2024.7.4)
Requirement already satisfied: numpy>=1.26.0 in d:\anaconda\lib\site-packages (from pandas->powerbiclient) (1.26.4)
Requirement already satisfied: python-dateutil>=2.8.2 in d:\anaconda\lib\site-packages (from pandas->powerbiclient) (2.9.0.post0)
Requirement already satisfied: pytz>=2020.1 in d:\anaconda\lib\site-packages (from pandas->powerbiclient) (2024.1)
Requirement already satisfied: tzdata>=2022.7 in d:\anaconda\lib\site-packages (from pandas->powerbiclient) (2023.3)
Collecting py4j==0.10.9.7 (from pyspark->powerbiclient)
  Downloading py4j-0.10.9.7-py2.py3-none-any.whl.metadata (1.5 kB)
Requirement already satisfied: cffi>=1.12 in d:\anaconda\lib\site-packages (from cryptography<47,>=2.5->msal>=1.8.0->powerbiclient) (1.16.0)
Requirement already satisfied: decorator in d:\anaconda\lib\site-packages (from ipython>=4.0.0->ipywidgets>=7.0.0->powerbiclient) (5.1.1)
Requirement already satisfied: jedi>=0.16 in d:\anaconda\lib\site-packages (from ipython>=4.0.0->ipywidgets>=7.0.0->powerbiclient) (0.18.1)
Requirement already satisfied: matplotlib-inline in d:\anaconda\lib\site-packages (from ipython>=4.0.0->ipywidgets>=7.0.0->powerbiclient) (0.1.6)
Requirement already satisfied: prompt-toolkit<3.1.0,>=3.0.41 in d:\anaconda\lib\site-packages (from ipython>=4.0.0->ipywidgets>=7.0.0->powerbiclient) (3.0.43)
Requirement already satisfied: pygments>=2.4.0 in d:\anaconda\lib\site-packages (from ipython>=4.0.0->ipywidgets>=7.0.0->powerbiclient) (2.15.1)
Requirement already satisfied: stack-data in d:\anaconda\lib\site-packages (from ipython>=4.0.0->ipywidgets>=7.0.0->powerbiclient) (0.2.0)
Requirement already satisfied: colorama in d:\anaconda\lib\site-packages (from ipython>=4.0.0->ipywidgets>=7.0.0->powerbiclient) (0.4.6)
Requirement already satisfied: six>=1.5 in d:\anaconda\lib\site-packages (from python-dateutil>=2.8.2->pandas->powerbiclient) (1.16.0)
Requirement already satisfied: notebook>=4.4.1 in d:\anaconda\lib\site-packages (from widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (7.0.8)
Requirement already satisfied: pycparser in d:\anaconda\lib\site-packages (from cffi>=1.12->cryptography<47,>=2.5->msal>=1.8.0->powerbiclient) (2.21)
Requirement already satisfied: parso<0.9.0,>=0.8.0 in d:\anaconda\lib\site-packages (from jedi>=0.16->ipython>=4.0.0->ipywidgets>=7.0.0->powerbiclient) (0.8.3)
Requirement already satisfied: jupyter-server<3,>=2.4.0 in d:\anaconda\lib\site-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (2.14.1)
Requirement already satisfied: jupyterlab-server<3,>=2.22.1 in d:\anaconda\lib\site-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (2.25.1)
Requirement already satisfied: jupyterlab<4.1,>=4.0.2 in d:\anaconda\lib\site-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (4.0.11)
Requirement already satisfied: notebook-shim<0.3,>=0.2 in d:\anaconda\lib\site-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (0.2.3)
Requirement already satisfied: tornado>=6.2.0 in d:\anaconda\lib\site-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (6.4.1)
Requirement already satisfied: wcwidth in d:\anaconda\lib\site-packages (from prompt-toolkit<3.1.0,>=3.0.41->ipython>=4.0.0->ipywidgets>=7.0.0->powerbiclient) (0.2.5)
Requirement already satisfied: executing in d:\anaconda\lib\site-packages (from stack-data->ipython>=4.0.0->ipywidgets>=7.0.0->powerbiclient) (0.8.3)
Requirement already satisfied: asttokens in d:\anaconda\lib\site-packages (from stack-data->ipython>=4.0.0->ipywidgets>=7.0.0->powerbiclient) (2.0.5)
Requirement already satisfied: pure-eval in d:\anaconda\lib\site-packages (from stack-data->ipython>=4.0.0->ipywidgets>=7.0.0->powerbiclient) (0.2.2)
Requirement already satisfied: anyio>=3.1.0 in d:\anaconda\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (4.2.0)
Requirement already satisfied: argon2-cffi>=21.1 in d:\anaconda\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (21.3.0)
Requirement already satisfied: jinja2>=3.0.3 in d:\anaconda\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (3.1.4)
Requirement already satisfied: jupyter-client>=7.4.4 in d:\anaconda\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (8.6.0)
Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in d:\anaconda\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (5.7.2)
Requirement already satisfied: jupyter-events>=0.9.0 in d:\anaconda\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (0.10.0)
Requirement already satisfied: jupyter-server-terminals>=0.4.4 in d:\anaconda\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (0.4.4)
Requirement already satisfied: nbconvert>=6.4.4 in d:\anaconda\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (7.10.0)
Requirement already satisfied: nbformat>=5.3.0 in d:\anaconda\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (5.9.2)
Requirement already satisfied: overrides>=5.0 in d:\anaconda\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (7.4.0)
Requirement already satisfied: packaging>=22.0 in d:\anaconda\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (23.2)
Requirement already satisfied: prometheus-client>=0.9 in d:\anaconda\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (0.14.1)
Requirement already satisfied: pywinpty>=2.0.1 in d:\anaconda\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (2.0.10)
Requirement already satisfied: pyzmq>=24 in d:\anaconda\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (25.1.2)
Requirement already satisfied: send2trash>=1.8.2 in d:\anaconda\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (1.8.2)
Requirement already satisfied: terminado>=0.8.3 in d:\anaconda\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (0.17.1)
Requirement already satisfied: websocket-client>=1.7 in d:\anaconda\lib\site-packages (from jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (1.8.0)
Requirement already satisfied: async-lru>=1.0.0 in d:\anaconda\lib\site-packages (from jupyterlab<4.1,>=4.0.2->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (2.0.4)
Requirement already satisfied: ipykernel in d:\anaconda\lib\site-packages (from jupyterlab<4.1,>=4.0.2->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (6.28.0)
Requirement already satisfied: jupyter-lsp>=2.0.0 in d:\anaconda\lib\site-packages (from jupyterlab<4.1,>=4.0.2->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (2.2.0)
Requirement already satisfied: babel>=2.10 in d:\anaconda\lib\site-packages (from jupyterlab-server<3,>=2.22.1->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (2.11.0)
Requirement already satisfied: json5>=0.9.0 in d:\anaconda\lib\site-packages (from jupyterlab-server<3,>=2.22.1->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (0.9.6)
Requirement already satisfied: jsonschema>=4.18.0 in d:\anaconda\lib\site-packages (from jupyterlab-server<3,>=2.22.1->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (4.19.2)
Requirement already satisfied: sniffio>=1.1 in d:\anaconda\lib\site-packages (from anyio>=3.1.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (1.3.0)
Requirement already satisfied: argon2-cffi-bindings in d:\anaconda\lib\site-packages (from argon2-cffi>=21.1->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (21.2.0)
Requirement already satisfied: MarkupSafe>=2.0 in d:\anaconda\lib\site-packages (from jinja2>=3.0.3->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (2.1.3)
Requirement already satisfied: attrs>=22.2.0 in d:\anaconda\lib\site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.22.1->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (23.1.0)
Requirement already satisfied: jsonschema-specifications>=2023.03.6 in d:\anaconda\lib\site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.22.1->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (2023.7.1)
Requirement already satisfied: referencing>=0.28.4 in d:\anaconda\lib\site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.22.1->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (0.30.2)
Requirement already satisfied: rpds-py>=0.7.1 in d:\anaconda\lib\site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.22.1->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (0.10.6)
Requirement already satisfied: platformdirs>=2.5 in d:\anaconda\lib\site-packages (from jupyter-core!=5.0.*,>=4.12->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (3.10.0)
Requirement already satisfied: pywin32>=300 in d:\anaconda\lib\site-packages (from jupyter-core!=5.0.*,>=4.12->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (305.1)
Requirement already satisfied: python-json-logger>=2.0.4 in d:\anaconda\lib\site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (2.0.7)
Requirement already satisfied: pyyaml>=5.3 in d:\anaconda\lib\site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (6.0.1)
Requirement already satisfied: rfc3339-validator in d:\anaconda\lib\site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (0.1.4)
Requirement already satisfied: rfc3986-validator>=0.1.1 in d:\anaconda\lib\site-packages (from jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (0.1.1)
Requirement already satisfied: beautifulsoup4 in d:\anaconda\lib\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (4.12.3)
Requirement already satisfied: bleach!=5.0.0 in d:\anaconda\lib\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (4.1.0)
Requirement already satisfied: defusedxml in d:\anaconda\lib\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (0.7.1)
Requirement already satisfied: jupyterlab-pygments in d:\anaconda\lib\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (0.1.2)
Requirement already satisfied: mistune<4,>=2.0.3 in d:\anaconda\lib\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (2.0.4)
Requirement already satisfied: nbclient>=0.5.0 in d:\anaconda\lib\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (0.8.0)
Requirement already satisfied: pandocfilters>=1.4.1 in d:\anaconda\lib\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (1.5.0)
Requirement already satisfied: tinycss2 in d:\anaconda\lib\site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (1.2.1)
Requirement already satisfied: fastjsonschema in d:\anaconda\lib\site-packages (from nbformat>=5.3.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (2.16.2)
Requirement already satisfied: debugpy>=1.6.5 in d:\anaconda\lib\site-packages (from ipykernel->jupyterlab<4.1,>=4.0.2->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (1.6.7)
Requirement already satisfied: nest-asyncio in d:\anaconda\lib\site-packages (from ipykernel->jupyterlab<4.1,>=4.0.2->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (1.6.0)
Requirement already satisfied: psutil in d:\anaconda\lib\site-packages (from ipykernel->jupyterlab<4.1,>=4.0.2->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (5.9.0)
Requirement already satisfied: webencodings in d:\anaconda\lib\site-packages (from bleach!=5.0.0->nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (0.5.1)
Collecting fqdn (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient)
  Downloading fqdn-1.5.1-py3-none-any.whl.metadata (1.4 kB)
Collecting isoduration (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient)
  Downloading isoduration-20.11.0-py3-none-any.whl.metadata (5.7 kB)
Requirement already satisfied: jsonpointer>1.13 in d:\anaconda\lib\site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (2.1)
Collecting uri-template (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient)
  Downloading uri_template-1.3.0-py3-none-any.whl.metadata (8.8 kB)
Collecting webcolors>=1.11 (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient)
  Downloading webcolors-24.11.1-py3-none-any.whl.metadata (2.2 kB)
Requirement already satisfied: soupsieve>1.2 in d:\anaconda\lib\site-packages (from beautifulsoup4->nbconvert>=6.4.4->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (2.5)
Requirement already satisfied: arrow>=0.15.0 in d:\anaconda\lib\site-packages (from isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.9.0->jupyter-server<3,>=2.4.0->notebook>=4.4.1->widgetsnbextension~=3.6.6->ipywidgets>=7.0.0->powerbiclient) (1.2.3)
Downloading powerbiclient-3.1.1-py2.py3-none-any.whl (684 kB)
   ---------------------------------------- 0.0/684.9 kB ? eta -:--:--
   --------------------------------------  675.8/684.9 kB 44.4 MB/s eta 0:00:01
   --------------------------------------- 684.9/684.9 kB 14.4 MB/s eta 0:00:00
Downloading jupyter_ui_poll-1.0.0-py2.py3-none-any.whl (9.1 kB)
Downloading msal-1.32.0-py3-none-any.whl (114 kB)
   ---------------------------------------- 0.0/114.7 kB ? eta -:--:--
   ---------------------------------------- 114.7/114.7 kB 6.5 MB/s eta 0:00:00
Downloading py4j-0.10.9.7-py2.py3-none-any.whl (200 kB)
   ---------------------------------------- 0.0/200.5 kB ? eta -:--:--
   ---------------------------------------- 200.5/200.5 kB 6.1 MB/s eta 0:00:00
Downloading webcolors-24.11.1-py3-none-any.whl (14 kB)
Downloading fqdn-1.5.1-py3-none-any.whl (9.1 kB)
Downloading isoduration-20.11.0-py3-none-any.whl (11 kB)
Downloading uri_template-1.3.0-py3-none-any.whl (11 kB)
Building wheels for collected packages: pyspark
  Building wheel for pyspark (setup.py): started
  Building wheel for pyspark (setup.py): finished with status 'done'
  Created wheel for pyspark: filename=pyspark-3.5.5-py2.py3-none-any.whl size=317747901 sha256=64453c99a625055eb7b7a563ebcf760d48cc332f8971b26f93d433830bd55b6c
  Stored in directory: c:\users\hari6\appdata\local\pip\cache\wheels\8f\cb\c0\cc57eb1bf0f9dc87cdaf2b0dbac49e58a210ff68d21d6fc709
Successfully built pyspark
Installing collected packages: py4j, webcolors, uri-template, pyspark, fqdn, isoduration, msal, jupyter-ui-poll, powerbiclient
Successfully installed fqdn-1.5.1 isoduration-20.11.0 jupyter-ui-poll-1.0.0 msal-1.32.0 powerbiclient-3.1.1 py4j-0.10.9.7 pyspark-3.5.5 uri-template-1.3.0 webcolors-24.11.1
In [116]:
from powerbiclient import Report, models
In [123]:
from powerbiclient.authentication import DeviceCodeLoginAuthentication
device_auth = DeviceCodeLoginAuthentication()
Performing device flow authentication. Please follow the instructions below.
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code NN4WGJX8D to authenticate.
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
Cell In[123], line 2
      1 from powerbiclient.authentication import DeviceCodeLoginAuthentication
----> 2 device_auth = DeviceCodeLoginAuthentication()

File D:\anaconda\Lib\site-packages\powerbiclient\authentication.py:78, in DeviceCodeLoginAuthentication.__init__(self, tenant_id)
     76 super().__init__()
     77 CheckGlobalAuth()
---> 78 self._acquire_token_device_code(tenant_id)

File D:\anaconda\Lib\site-packages\powerbiclient\authentication.py:110, in DeviceCodeLoginAuthentication._acquire_token_device_code(self, tenant_id)
    108 else:
    109     error_message = f"Authentication failed. Try again.\nDetails: {result.get('error_description')}"
--> 110     raise RuntimeError(error_message)

RuntimeError: Authentication failed. Try again.
Details: AADSTS70016: OAuth 2.0 device flow error. Authorization is pending. Continue polling. Trace ID: 7531ef1e-23b2-48c3-a88d-dfb280f03600 Correlation ID: 5dbfc74d-81f1-42b6-9f4c-c1133c61d300 Timestamp: 2025-03-13 14:18:24Z
In [ ]:
 
In [ ]:
 
In [ ]:
 
In [ ]: